[PATCH 3/5] drm/amdgpu: correct the audio function initial Dstate
Lazar, Lijo
lijo.lazar at amd.com
Thu Jun 3 11:08:37 UTC 2021
On 6/3/2021 10:26 AM, Evan Quan wrote:
> On driver loading, the ASIC is in D0 state. The bundled
> audio function should be in the same state also.
>
> Change-Id: I136e196be7633e95883a7f6c33963f7583e9bad1
> Signed-off-by: Evan Quan <evan.quan at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index c354ffa62483..9d497b4f8e34 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -137,6 +137,7 @@ int amdgpu_driver_load_kms(struct amdgpu_device *adev, unsigned long flags)
> struct drm_device *dev;
> struct pci_dev *parent;
> int r, acpi_status;
> + struct pci_dev *p = NULL;
>
> dev = adev_to_drm(adev);
>
> @@ -212,9 +213,22 @@ int amdgpu_driver_load_kms(struct amdgpu_device *adev, unsigned long flags)
> DPM_FLAG_MAY_SKIP_RESUME);
> pm_runtime_use_autosuspend(dev->dev);
> pm_runtime_set_autosuspend_delay(dev->dev, 5000);
> +
> pm_runtime_allow(dev->dev);
> +
> pm_runtime_mark_last_busy(dev->dev);
> pm_runtime_put_autosuspend(dev->dev);
> +
> + p = pci_get_domain_bus_and_slot(pci_domain_nr(adev->pdev->bus),
> + adev->pdev->bus->number, 1);
For the sake of readability, it's better to wrap this as get_audio_dev
or similar.
Thanks,
Lijo
> + if (p) {
> + pm_runtime_get_sync(&p->dev);
> +
> + pm_runtime_mark_last_busy(&p->dev);
> + pm_runtime_put_autosuspend(&p->dev);
> +
> + pci_dev_put(p);
> + }
> }
>
> if (amdgpu_acpi_smart_shift_update(dev, AMDGPU_SS_DRV_LOAD))
>
More information about the amd-gfx
mailing list