After the boot of the SST FW the firmware version is send back to the driver. This patch is saving the FW version inside the driver.
Signed-off-by: Sebastien Guiriec sebastien.guiriec@intel.com --- sound/soc/intel/atom/sst/sst.h | 1 + sound/soc/intel/atom/sst/sst_ipc.c | 5 +++++ 2 files changed, 6 insertions(+)
diff --git a/sound/soc/intel/atom/sst/sst.h b/sound/soc/intel/atom/sst/sst.h index 3f49386..5c9a51cc 100644 --- a/sound/soc/intel/atom/sst/sst.h +++ b/sound/soc/intel/atom/sst/sst.h @@ -436,6 +436,7 @@ struct intel_sst_drv { */ char firmware_name[FW_NAME_SIZE];
+ struct snd_sst_fw_version fw_version; struct sst_fw_save *fw_save; };
diff --git a/sound/soc/intel/atom/sst/sst_ipc.c b/sound/soc/intel/atom/sst/sst_ipc.c index 92ffeaa..8e88211 100644 --- a/sound/soc/intel/atom/sst/sst_ipc.c +++ b/sound/soc/intel/atom/sst/sst_ipc.c @@ -240,6 +240,11 @@ static void process_fw_init(struct intel_sst_drv *sst_drv_ctx, init->fw_version.type, init->fw_version.major, init->fw_version.minor, init->fw_version.build);
+ /* Save FW version */ + sst_drv_ctx->fw_version.type = init->fw_version.type; + sst_drv_ctx->fw_version.major = init->fw_version.major; + sst_drv_ctx->fw_version.minor = init->fw_version.minor; + sst_drv_ctx->fw_version.build = init->fw_version.build; ret: sst_wake_up_block(sst_drv_ctx, retval, FW_DWNL_ID, 0 , NULL, 0); }