Re: [PATCH 09/15] rpmsg: smd: Drop unnecessary condition for channel creation

Stephan Gerhold
2022-01-12T21:40:34Z

Hi,

+Cc Srinivas

On Wed, Jan 12, 2022 at 08:40:58PM +0100, Luca Weiss wrote:
> From: Vladimir Lypak <vladimir.lypak@gmail.com>
>
> RPM Firmware on variety of newer SoCs such as MSM8917 (also likely
> MSM8937, MSM8940, MSM8952), MSM8953 and on some MSM8916 devices) doesn't
> initiate opening of the SMD channel if it was previously opened by
> bootloader. This doesn't allow probing of smd-rpm driver on such devices
> because there is a check that requires RPM this behaviour.
>
> Signed-off-by: Vladimir Lypak <vladimir.lypak@gmail.com>
> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>

This is effectively a "Revert "Revert "rpmsg: smd: Create device for all
channels""":

https://lore.kernel.org/linux-arm-msm/20171212235857.10432-3-bjorn.andersson@linaro.org/
https://lore.kernel.org/linux-arm-msm/20180315181244.8859-1-bjorn.andersson@linaro.org/

Won't this cause the same regression reported by Srinivas again?

Thanks,
Stephan

> ---
> drivers/rpmsg/qcom_smd.c | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/drivers/rpmsg/qcom_smd.c b/drivers/rpmsg/qcom_smd.c
> index 8da1b5cb31b3..6a01ef932b01 100644
> --- a/drivers/rpmsg/qcom_smd.c
> +++ b/drivers/rpmsg/qcom_smd.c
> @@ -1280,19 +1280,13 @@ static void qcom_channel_state_worker(struct work_struct *work)
> unsigned long flags;
>
> /*
> - * Register a device for any closed channel where the remote processor
> - * is showing interest in opening the channel.
> + * Register a device for any closed channel.
> */
> spin_lock_irqsave(&edge->channels_lock, flags);
> list_for_each_entry(channel, &edge->channels, list) {
> if (channel->state != SMD_CHANNEL_CLOSED)
> continue;
>
> - remote_state = GET_RX_CHANNEL_INFO(channel, state);
> - if (remote_state != SMD_CHANNEL_OPENING &&
> - remote_state != SMD_CHANNEL_OPENED)
> - continue;
> -
> if (channel->registered)
> continue;
>
> --
> 2.34.1
>