bus: mhi: host: allow MHI client drivers to provide the firmware via a pointer
authorKalle Valo <quic_kvalo@quicinc.com>
Thu, 27 Jul 2023 10:04:28 +0000 (13:04 +0300)
committerManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Fri, 4 Aug 2023 06:39:56 +0000 (12:09 +0530)
commitefe47a18e43f59f063a82ccaa464a3b4844bb8a8
tree3ca9ef960d6cf708dd903026299e3cc63998561c
parent14a2714085acd94da5774081a5735c655540b632
bus: mhi: host: allow MHI client drivers to provide the firmware via a pointer

Currently MHI loads the firmware image from the path provided by client
devices. ath11k needs to support firmware image embedded along with meta
data (named as firmware-2.bin). So allow the client driver to request the
firmware file from user space on it's own and provide the firmware image
data and size to MHI via a pointer struct mhi_controller::fw_data.

This is an optional feature, if fw_data is NULL MHI load the firmware using
the name from struct mhi_controller::fw_image string as before.

Tested with ath11k and WCN6855 hw2.0.

Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
Link: https://lore.kernel.org/r/20230727100430.3603551-2-kvalo@kernel.org
[mani: wrapped commit message to 75 columns]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/bus/mhi/host/boot.c
include/linux/mhi.h