[alsa-devel] [PATCH 7/7] ALSA: hda/tegra: add driver flag for runtime PM

Sameer Pujar spujar at nvidia.com
Tue Jan 22 03:04:21 CET 2019


On 1/22/2019 3:01 AM, Takashi Iwai wrote:
> On Mon, 21 Jan 2019 18:41:37 +0100,
> Sameer Pujar wrote:
>> AZX_DCAPS_PM_RUNTIME flag is added to indicate support for runtime PM.
>> azx_has_pm_runtime() can be called to check if above is enabled. The
>> flag is put under CONFIG_PM check.
>>
>> Signed-off-by: Sameer Pujar <spujar at nvidia.com>
>> Reviewed-by: Ravindra Lokhande <rlokhande at nvidia.com>
>> Reviewed-by: Mohan Kumar D <mkumard at nvidia.com>
> This can be more simply done in hda_controller.h.  Namely, a change
> like:
>
> --- a/sound/pci/hda/hda_controller.h
> +++ b/sound/pci/hda/hda_controller.h
> @@ -49,7 +49,11 @@
>   #define AZX_DCAPS_4K_BDLE_BOUNDARY (1 << 23)	/* BDLE in 4k boundary */
>   /* 24 unused */
>   #define AZX_DCAPS_COUNT_LPIB_DELAY  (1 << 25)	/* Take LPIB as delay */
> +#ifdef CONFIG_PM
>   #define AZX_DCAPS_PM_RUNTIME	(1 << 26)	/* runtime PM support */
> +#else
> +#define AZX_DCAPS_PM_RUNTIME	0		/* N/A */
> +#endif
>   /* 27 unused */
>   #define AZX_DCAPS_CORBRP_SELF_CLEAR (1 << 28)	/* CORBRP clears itself after reset */
>   #define AZX_DCAPS_NO_MSI64      (1 << 29)	/* Stick to 32-bit MSIs */

In one of the patches in the series, I am using azx_has_pm_runtime() to 
forbid runtime PM calls.
I can use above as you suggested. Along with this, I would need to 
populate chip->driver_caps with
above flag. Something like below,

--- a/sound/pci/hda/hda_tegra.c
+++ b/sound/pci/hda/hda_tegra.c
@@ -521,7 +521,8 @@ MODULE_DEVICE_TABLE(of, hda_tegra_match);

  static int hda_tegra_probe(struct platform_device *pdev)
  {
-       unsigned int driver_flags = AZX_DCAPS_CORBRP_SELF_CLEAR;
+       unsigned int driver_flags = AZX_DCAPS_CORBRP_SELF_CLEAR |
+                                   AZX_DCAPS_PM_RUNTIME;
         struct snd_card *card;
         struct azx *chip;
         struct hda_tegra *hda;

Thanks,
Sameer.

>
> thanks,
>
> Takashi
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------


More information about the Alsa-devel mailing list