drm/amd/amdgpu: Add GPIO resources required for amdisp

ISP is a child device to GFX, and its device specific information
is not available in ACPI. Adding the 2 GPIO resources required for
ISP_v4_1_1 in amdgpu_isp driver.

- GPIO 0 to allow sensor driver to enable and disable sensor module.
- GPIO 85 to allow ISP driver to enable and disable ISP RGB streaming mode.

Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Pratap Nirujogi
2025-03-09 16:53:01 -04:00
committed by Alex Deucher
parent e485502c37
commit 3e9d9df850
4 changed files with 67 additions and 2 deletions

View File

@@ -1532,5 +1532,35 @@ bool amdgpu_acpi_is_s0ix_active(struct amdgpu_device *adev)
return true;
#endif /* CONFIG_AMD_PMC */
}
#endif /* CONFIG_SUSPEND */
#if IS_ENABLED(CONFIG_DRM_AMD_ISP)
static const struct acpi_device_id isp_sensor_ids[] = {
{ "OMNI5C10" },
{ }
};
static int isp_match_acpi_device_ids(struct device *dev, const void *data)
{
return acpi_match_device(data, dev) ? 1 : 0;
}
int amdgpu_acpi_get_isp4_dev_hid(u8 (*hid)[ACPI_ID_LEN])
{
struct device *pdev __free(put_device) = NULL;
struct acpi_device *acpi_pdev;
pdev = bus_find_device(&platform_bus_type, NULL, isp_sensor_ids,
isp_match_acpi_device_ids);
if (!pdev)
return -EINVAL;
acpi_pdev = ACPI_COMPANION(pdev);
if (!acpi_pdev)
return -ENODEV;
strscpy(*hid, acpi_device_hid(acpi_pdev));
return 0;
}
#endif /* CONFIG_DRM_AMD_ISP */