On Sun, Oct 06, 2024 at 03:07:02PM +0800, [email protected] wrote:
> From: Viorel Suman <[email protected]>
> 
> Enable doorbel return to work iMX95 System Manager.
> 
> Signed-off-by: Viorel Suman <[email protected]>
> Signed-off-by: Alice Guo <[email protected]>
> Reviewed-by: Ye Li <[email protected]>
> ---
>  drivers/firmware/scmi/smt.c |  3 +++
>  drivers/firmware/scmi/smt.h | 10 ++++++++++
>  2 files changed, 13 insertions(+)
> 
> diff --git a/drivers/firmware/scmi/smt.c b/drivers/firmware/scmi/smt.c
> index e9d401f0da..98e07d3a16 100644
> --- a/drivers/firmware/scmi/smt.c
> +++ b/drivers/firmware/scmi/smt.c
> @@ -49,6 +49,9 @@ int scmi_dt_get_smt_buffer(struct udevice *dev, struct 
> scmi_smt *smt)
>       if (!smt->buf)
>               return -ENOMEM;
>  
> +     /* make this configurable as function of DTS property */
> +     scmi_smt_enable_intr(smt, true);
> +
>  #ifdef CONFIG_ARM
>       if (dcache_status()) {
>               if (IS_ENABLED(CONFIG_ARM64))
> diff --git a/drivers/firmware/scmi/smt.h b/drivers/firmware/scmi/smt.h
> index 9d669a6c92..768b0f4c8a 100644
> --- a/drivers/firmware/scmi/smt.h
> +++ b/drivers/firmware/scmi/smt.h
> @@ -84,6 +84,16 @@ static inline void scmi_smt_put_channel(struct scmi_smt 
> *smt)
>       hdr->channel_status &= ~SCMI_SHMEM_CHAN_STAT_CHANNEL_ERROR;
>  }
>  
> +static inline void scmi_smt_enable_intr(struct scmi_smt *smt, bool enable)
> +{
> +     struct scmi_smt_header *hdr = (void *)smt->buf;
> +
> +     if (enable)
> +             hdr->flags |= SCMI_SHMEM_FLAG_INTR_ENABLED;
> +     else
> +             hdr->flags &= ~SCMI_SHMEM_FLAG_INTR_ENABLED;
> +}
> +
>  int scmi_dt_get_smt_buffer(struct udevice *dev, struct scmi_smt *smt);

Where is this being configured based on the DT? The only caller only
passes "true" without a check anywhere.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to