[PATCH] Revert "drm/amdgpu: Prefer dev_* variant over printk in amdgpu_atpx_handler.c"

Chen, Guchun Guchun.Chen at amd.com
Tue Aug 1 01:41:55 UTC 2023


[Public]

Reviewed-by: Guchun Chen <guchun.chen at amd.com>

Regards,
Guchun

> -----Original Message-----
> From: SHANMUGAM, SRINIVASAN <SRINIVASAN.SHANMUGAM at amd.com>
> Sent: Monday, July 31, 2023 7:58 PM
> To: Koenig, Christian <Christian.Koenig at amd.com>; Deucher, Alexander
> <Alexander.Deucher at amd.com>; Chen, Guchun <Guchun.Chen at amd.com>
> Cc: amd-gfx at lists.freedesktop.org; SHANMUGAM, SRINIVASAN
> <SRINIVASAN.SHANMUGAM at amd.com>; Bert Karwatzki
> <spasswolf at web.de>
> Subject: [PATCH] Revert "drm/amdgpu: Prefer dev_* variant over printk in
> amdgpu_atpx_handler.c"
>
> Usage of container_of is wrong here.
> struct acpi_device *adev = container_of(handle, struct acpi_device, handle)
>
> This reverts commit 7b19690805bbac72c82d9b9321f8130ad7898bb3.
>
> References: https://gitlab.freedesktop.org/drm/amd/-/issues/2744
> Cc: Guchun Chen <guchun.chen at amd.com>
> Cc: Christian König <christian.koenig at amd.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Cc: Bert Karwatzki <spasswolf at web.de>
> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam at amd.com>
> ---
>  .../gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c  | 35 +++++++------------
>  1 file changed, 12 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
> index 6f241c574665..d6d986be906a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
> @@ -74,29 +74,24 @@ struct atpx_mux {
>       u16 mux;
>  } __packed;
>
> -bool amdgpu_has_atpx(void)
> -{
> +bool amdgpu_has_atpx(void) {
>       return amdgpu_atpx_priv.atpx_detected;  }
>
> -bool amdgpu_has_atpx_dgpu_power_cntl(void)
> -{
> +bool amdgpu_has_atpx_dgpu_power_cntl(void) {
>       return amdgpu_atpx_priv.atpx.functions.power_cntl;
>  }
>
> -bool amdgpu_is_atpx_hybrid(void)
> -{
> +bool amdgpu_is_atpx_hybrid(void) {
>       return amdgpu_atpx_priv.atpx.is_hybrid;  }
>
> -bool amdgpu_atpx_dgpu_req_power_for_displays(void)
> -{
> +bool amdgpu_atpx_dgpu_req_power_for_displays(void) {
>       return amdgpu_atpx_priv.atpx.dgpu_req_power_for_displays;
>  }
>
>  #if defined(CONFIG_ACPI)
> -void *amdgpu_atpx_get_dhandle(void)
> -{
> +void *amdgpu_atpx_get_dhandle(void) {
>       return amdgpu_atpx_priv.dhandle;
>  }
>  #endif
> @@ -118,8 +113,6 @@ static union acpi_object
> *amdgpu_atpx_call(acpi_handle handle, int function,
>       union acpi_object atpx_arg_elements[2];
>       struct acpi_object_list atpx_arg;
>       struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
> -     struct acpi_device *adev = container_of(handle, struct acpi_device,
> handle);
> -     struct device *dev = &adev->dev;
>
>       atpx_arg.count = 2;
>       atpx_arg.pointer = &atpx_arg_elements[0]; @@ -141,8 +134,8 @@
> static union acpi_object *amdgpu_atpx_call(acpi_handle handle, int function,
>
>       /* Fail only if calling the method fails and ATPX is supported */
>       if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
> -             dev_err(dev, "failed to evaluate ATPX got %s\n",
> -                     acpi_format_exception(status));
> +             printk("failed to evaluate ATPX got %s\n",
> +                    acpi_format_exception(status));
>               kfree(buffer.pointer);
>               return NULL;
>       }
> @@ -183,8 +176,6 @@ static void amdgpu_atpx_parse_functions(struct
> amdgpu_atpx_functions *f, u32 mas  static int amdgpu_atpx_validate(struct
> amdgpu_atpx *atpx)  {
>       u32 valid_bits = 0;
> -     struct acpi_device *adev = container_of(atpx->handle, struct
> acpi_device, handle);
> -     struct device *dev = &adev->dev;
>
>       if (atpx->functions.px_params) {
>               union acpi_object *info;
> @@ -199,7 +190,7 @@ static int amdgpu_atpx_validate(struct amdgpu_atpx
> *atpx)
>
>               size = *(u16 *) info->buffer.pointer;
>               if (size < 10) {
> -                     dev_err(dev, "ATPX buffer is too small: %zu\n", size);
> +                     printk("ATPX buffer is too small: %zu\n", size);
>                       kfree(info);
>                       return -EINVAL;
>               }
> @@ -232,11 +223,11 @@ static int amdgpu_atpx_validate(struct
> amdgpu_atpx *atpx)
>       atpx->is_hybrid = false;
>       if (valid_bits & ATPX_MS_HYBRID_GFX_SUPPORTED) {
>               if (amdgpu_atpx_priv.quirks &
> AMDGPU_PX_QUIRK_FORCE_ATPX) {
> -                     dev_info(dev, "ATPX Hybrid Graphics, forcing to
> ATPX\n");
> +                     printk("ATPX Hybrid Graphics, forcing to ATPX\n");
>                       atpx->functions.power_cntl = true;
>                       atpx->is_hybrid = false;
>               } else {
> -                     dev_info(dev, "ATPX Hybrid Graphics\n");
> +                     printk("ATPX Hybrid Graphics\n");
>                       /*
>                        * Disable legacy PM methods only when pcie port
> PM is usable,
>                        * otherwise the device might fail to power off or
> power on.
> @@ -269,8 +260,6 @@ static int amdgpu_atpx_verify_interface(struct
> amdgpu_atpx *atpx)
>       struct atpx_verify_interface output;
>       size_t size;
>       int err = 0;
> -     struct acpi_device *adev = container_of(atpx->handle, struct
> acpi_device, handle);
> -     struct device *dev = &adev->dev;
>
>       info = amdgpu_atpx_call(atpx->handle,
> ATPX_FUNCTION_VERIFY_INTERFACE, NULL);
>       if (!info)
> @@ -289,8 +278,8 @@ static int amdgpu_atpx_verify_interface(struct
> amdgpu_atpx *atpx)
>       memcpy(&output, info->buffer.pointer, size);
>
>       /* TODO: check version? */
> -     dev_info(dev, "ATPX version %u, functions 0x%08x\n",
> -              output.version, output.function_bits);
> +     printk("ATPX version %u, functions 0x%08x\n",
> +            output.version, output.function_bits);
>
>       amdgpu_atpx_parse_functions(&atpx->functions,
> output.function_bits);
>
> --
> 2.25.1



More information about the amd-gfx mailing list