All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] drm/amdgpu: convert to NBIO IP version checking
@ 2022-01-24  3:20 Tim Huang
  2022-01-24  3:20 ` [PATCH 2/3] drm/amdgpu: convert to UVD " Tim Huang
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Tim Huang @ 2022-01-24  3:20 UTC (permalink / raw)
  To: amd-gfx; +Cc: Alexander.Deucher, Ray.Huang, Aaron.Liu, Tim Huang

Use IP versions rather than asic_type to differentiate IP version specific features.

Signed-off-by: Tim Huang <xiaohu.huang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c | 48 ++++++++++++++++++--------
 1 file changed, 34 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c b/drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c
index 3444332ea110..70e341d884d5 100644
--- a/drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c
+++ b/drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c
@@ -59,10 +59,15 @@ static u32 nbio_v7_2_get_rev_id(struct amdgpu_device *adev)
 {
 	u32 tmp;
 
-	if (adev->asic_type == CHIP_YELLOW_CARP)
+	switch (adev->ip_versions[NBIO_HWIP][0]) {
+	case IP_VERSION(7, 2, 1):
+	case IP_VERSION(7, 5, 0):
 		tmp = RREG32_SOC15(NBIO, 0, regRCC_STRAP0_RCC_DEV0_EPF0_STRAP0_YC);
-	else
+		break;
+	default:
 		tmp = RREG32_SOC15(NBIO, 0, regRCC_STRAP0_RCC_DEV0_EPF0_STRAP0);
+		break;
+	}
 
 	tmp &= RCC_STRAP0_RCC_DEV0_EPF0_STRAP0__STRAP_ATI_REV_ID_DEV0_F0_MASK;
 	tmp >>= RCC_STRAP0_RCC_DEV0_EPF0_STRAP0__STRAP_ATI_REV_ID_DEV0_F0__SHIFT;
@@ -72,20 +77,25 @@ static u32 nbio_v7_2_get_rev_id(struct amdgpu_device *adev)
 
 static void nbio_v7_2_mc_access_enable(struct amdgpu_device *adev, bool enable)
 {
-	if (enable)
-		if (adev->asic_type == CHIP_YELLOW_CARP)
+	switch (adev->ip_versions[NBIO_HWIP][0]) {
+	case IP_VERSION(7, 2, 1):
+	case IP_VERSION(7, 5, 0):
+		if (enable)
 			WREG32_SOC15(NBIO, 0, regBIF_BX0_BIF_FB_EN_YC,
 				BIF_BX0_BIF_FB_EN__FB_READ_EN_MASK |
 				BIF_BX0_BIF_FB_EN__FB_WRITE_EN_MASK);
 		else
+			WREG32_SOC15(NBIO, 0, regBIF_BX0_BIF_FB_EN_YC, 0);
+	break;
+	default:
+		if (enable)
 			WREG32_SOC15(NBIO, 0, regBIF_BX0_BIF_FB_EN,
 				BIF_BX0_BIF_FB_EN__FB_READ_EN_MASK |
 				BIF_BX0_BIF_FB_EN__FB_WRITE_EN_MASK);
-	else
-		if (adev->asic_type == CHIP_YELLOW_CARP)
-			WREG32_SOC15(NBIO, 0, regBIF_BX0_BIF_FB_EN_YC, 0);
 		else
 			WREG32_SOC15(NBIO, 0, regBIF_BX0_BIF_FB_EN, 0);
+		break;
+	}
 }
 
 static u32 nbio_v7_2_get_memsize(struct amdgpu_device *adev)
@@ -249,8 +259,10 @@ static void nbio_v7_2_update_medium_grain_light_sleep(struct amdgpu_device *adev
 						      bool enable)
 {
 	uint32_t def, data;
-
-	if (adev->asic_type == CHIP_YELLOW_CARP) {
+	
+	switch (adev->ip_versions[NBIO_HWIP][0]) {
+	case IP_VERSION(7, 2, 1):
+	case IP_VERSION(7, 5, 0):
 		def = data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CNTL2));
 		if (enable && (adev->cg_flags & AMD_CG_SUPPORT_BIF_LS))
 			data |= PCIE_CNTL2__SLV_MEM_LS_EN_MASK;
@@ -260,8 +272,8 @@ static void nbio_v7_2_update_medium_grain_light_sleep(struct amdgpu_device *adev
 		if (def != data)
 			WREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CNTL2), data);
 
-		data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regBIF1_PCIE_TX_POWER_CTRL_1));
-		def = data;
+		def = data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, 
+			regBIF1_PCIE_TX_POWER_CTRL_1));
 		if (enable && (adev->cg_flags & AMD_CG_SUPPORT_BIF_LS))
 			data |= (BIF1_PCIE_TX_POWER_CTRL_1__MST_MEM_LS_EN_MASK |
 				BIF1_PCIE_TX_POWER_CTRL_1__REPLAY_MEM_LS_EN_MASK);
@@ -272,7 +284,8 @@ static void nbio_v7_2_update_medium_grain_light_sleep(struct amdgpu_device *adev
 		if (def != data)
 			WREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regBIF1_PCIE_TX_POWER_CTRL_1),
 				data);
-	} else {
+		break;
+	default:
 		def = data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CNTL2));
 		if (enable && (adev->cg_flags & AMD_CG_SUPPORT_BIF_LS))
 			data |= (PCIE_CNTL2__SLV_MEM_LS_EN_MASK |
@@ -285,6 +298,8 @@ static void nbio_v7_2_update_medium_grain_light_sleep(struct amdgpu_device *adev
 
 		if (def != data)
 			WREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CNTL2), data);
+
+		break;
 	}
 }
 
@@ -352,7 +367,9 @@ const struct nbio_hdp_flush_reg nbio_v7_2_hdp_flush_reg = {
 static void nbio_v7_2_init_registers(struct amdgpu_device *adev)
 {
 	uint32_t def, data;
-	if (adev->asic_type == CHIP_YELLOW_CARP) {
+	switch (adev->ip_versions[NBIO_HWIP][0]) {
+	case IP_VERSION(7, 2, 1):
+	case IP_VERSION(7, 5, 0):
 		def = data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regBIF1_PCIE_MST_CTRL_3));
 		data = REG_SET_FIELD(data, BIF1_PCIE_MST_CTRL_3,
 			CI_SWUS_MAX_READ_REQUEST_SIZE_MODE, 1);
@@ -361,7 +378,8 @@ static void nbio_v7_2_init_registers(struct amdgpu_device *adev)
 
 		if (def != data)
 			WREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regBIF1_PCIE_MST_CTRL_3), data);
-	} else {
+		break;
+	default:
 		def = data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CONFIG_CNTL));
 		data = REG_SET_FIELD(data, PCIE_CONFIG_CNTL,
 			CI_SWUS_MAX_READ_REQUEST_SIZE_MODE, 1);
@@ -370,6 +388,8 @@ static void nbio_v7_2_init_registers(struct amdgpu_device *adev)
 
 		if (def != data)
 			WREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CONFIG_CNTL), data);
+
+		break;
 	}
 
 	if (amdgpu_sriov_vf(adev))
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] drm/amdgpu: convert to UVD IP version checking
  2022-01-24  3:20 [PATCH 1/3] drm/amdgpu: convert to NBIO IP version checking Tim Huang
@ 2022-01-24  3:20 ` Tim Huang
  2022-01-24  7:32   ` Huang Rui
  2022-01-24  3:20 ` [PATCH 3/3] drm/amd/display: convert to DCE " Tim Huang
  2022-01-24  7:28 ` [PATCH 1/3] drm/amdgpu: convert to NBIO " Huang Rui
  2 siblings, 1 reply; 7+ messages in thread
From: Tim Huang @ 2022-01-24  3:20 UTC (permalink / raw)
  To: amd-gfx; +Cc: Alexander.Deucher, Ray.Huang, Aaron.Liu, Tim Huang

Use IP versions rather than asic_type to differentiate IP version specific features.

Signed-off-by: Tim Huang <xiaohu.huang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c b/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c
index 01c242c5abc3..c5ffb14ba183 100644
--- a/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c
@@ -50,11 +50,16 @@ static int jpeg_v3_0_early_init(void *handle)
 {
 	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 
-	if (adev->asic_type != CHIP_YELLOW_CARP) {
-		u32 harvest = RREG32_SOC15(JPEG, 0, mmCC_UVD_HARVESTING);
+	u32 harvest;
 
+	switch (adev->ip_versions[UVD_HWIP][0]) {
+	case IP_VERSION(3, 1, 1): 
+		break;
+	default:
+		harvest = RREG32_SOC15(JPEG, 0, mmCC_UVD_HARVESTING);
 		if (harvest & CC_UVD_HARVESTING__UVD_DISABLE_MASK)
 			return -ENOENT;
+		break;
 	}
 
 	adev->jpeg.num_jpeg_inst = 1;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] drm/amd/display: convert to DCE IP version checking
  2022-01-24  3:20 [PATCH 1/3] drm/amdgpu: convert to NBIO IP version checking Tim Huang
  2022-01-24  3:20 ` [PATCH 2/3] drm/amdgpu: convert to UVD " Tim Huang
@ 2022-01-24  3:20 ` Tim Huang
  2022-01-24  6:14   ` Liu, Aaron
  2022-01-24  7:34   ` Huang Rui
  2022-01-24  7:28 ` [PATCH 1/3] drm/amdgpu: convert to NBIO " Huang Rui
  2 siblings, 2 replies; 7+ messages in thread
From: Tim Huang @ 2022-01-24  3:20 UTC (permalink / raw)
  To: amd-gfx; +Cc: Alexander.Deucher, Ray.Huang, Aaron.Liu, Tim Huang

Use IP versions rather than asic_type to differentiate IP version specific features.

Signed-off-by: Tim Huang <xiaohu.huang@amd.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 87299e62fe12..c967e1e344e4 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -1119,19 +1119,17 @@ static int dm_dmub_hw_init(struct amdgpu_device *adev)
 	for (i = 0; i < fb_info->num_fb; ++i)
 		hw_params.fb[i] = &fb_info->fb[i];
 
-	switch (adev->asic_type) {
-	case CHIP_YELLOW_CARP:
-		if (dc->ctx->asic_id.hw_internal_rev != YELLOW_CARP_A0) {
-			hw_params.dpia_supported = true;
+	switch (adev->ip_versions[DCE_HWIP][0]) {
+	case IP_VERSION(3, 1, 3): /* Only for this asic hw internal rev B0 */
+		hw_params.dpia_supported = true;
 #if defined(CONFIG_DRM_AMD_DC_DCN)
-			hw_params.disable_dpia = dc->debug.dpia_debug.bits.disable_dpia;
+		hw_params.disable_dpia = dc->debug.dpia_debug.bits.disable_dpia;
 #endif
-		}
 		break;
 	default:
 		break;
 	}
-
+	
 	status = dmub_srv_hw_init(dmub_srv, &hw_params);
 	if (status != DMUB_STATUS_OK) {
 		DRM_ERROR("Error initializing DMUB HW: %d\n", status);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* RE: [PATCH 3/3] drm/amd/display: convert to DCE IP version checking
  2022-01-24  3:20 ` [PATCH 3/3] drm/amd/display: convert to DCE " Tim Huang
@ 2022-01-24  6:14   ` Liu, Aaron
  2022-01-24  7:34   ` Huang Rui
  1 sibling, 0 replies; 7+ messages in thread
From: Liu, Aaron @ 2022-01-24  6:14 UTC (permalink / raw)
  To: Huang, Tim, amd-gfx; +Cc: Deucher, Alexander, Huang, Ray

[-- Attachment #1: Type: text/plain, Size: 2550 bytes --]

[AMD Official Use Only]


Tim,

Please remove TAB in the beginning of an empty line and the SPACE in the end of a line.

With this fixed, series is:
Reviewed-by: Aaron Liu aaron.liu@amd.com<mailto:aaron.liu@amd.com>



--

Best Regards

Aaron Liu



> -----Original Message-----

> From: Huang, Tim <Tim.Huang@amd.com>

> Sent: Monday, January 24, 2022 11:21 AM

> To: amd-gfx@lists.freedesktop.org

> Cc: Deucher, Alexander <Alexander.Deucher@amd.com>; Huang, Ray

> <Ray.Huang@amd.com>; Liu, Aaron <Aaron.Liu@amd.com>; Huang, Tim

> <Tim.Huang@amd.com>

> Subject: [PATCH 3/3] drm/amd/display: convert to DCE IP version checking

>

> Use IP versions rather than asic_type to differentiate IP version specific

> features.

>

> Signed-off-by: Tim Huang <xiaohu.huang@amd.com<mailto:xiaohu.huang@amd.com>>

> ---

>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 12 +++++-------

>  1 file changed, 5 insertions(+), 7 deletions(-)

>

> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

> index 87299e62fe12..c967e1e344e4 100644

> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

> @@ -1119,19 +1119,17 @@ static int dm_dmub_hw_init(struct

> amdgpu_device *adev)

>          for (i = 0; i < fb_info->num_fb; ++i)

>                      hw_params.fb[i] = &fb_info->fb[i];

>

> -        switch (adev->asic_type) {

> -        case CHIP_YELLOW_CARP:

> -                    if (dc->ctx->asic_id.hw_internal_rev != YELLOW_CARP_A0) {

> -                                hw_params.dpia_supported = true;

> +       switch (adev->ip_versions[DCE_HWIP][0]) {

> +       case IP_VERSION(3, 1, 3): /* Only for this asic hw internal rev B0 */

> +                   hw_params.dpia_supported = true;

>  #if defined(CONFIG_DRM_AMD_DC_DCN)

> -                                hw_params.disable_dpia = dc-

> >debug.dpia_debug.bits.disable_dpia;

> +                   hw_params.disable_dpia = dc-

> >debug.dpia_debug.bits.disable_dpia;

>  #endif

> -                    }

>                      break;

>          default:

>                      break;

>          }

> -

> +

>          status = dmub_srv_hw_init(dmub_srv, &hw_params);

>          if (status != DMUB_STATUS_OK) {

>                      DRM_ERROR("Error initializing DMUB HW: %d\n", status);

> --

> 2.25.1



[-- Attachment #2: Type: text/html, Size: 9500 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] drm/amdgpu: convert to NBIO IP version checking
  2022-01-24  3:20 [PATCH 1/3] drm/amdgpu: convert to NBIO IP version checking Tim Huang
  2022-01-24  3:20 ` [PATCH 2/3] drm/amdgpu: convert to UVD " Tim Huang
  2022-01-24  3:20 ` [PATCH 3/3] drm/amd/display: convert to DCE " Tim Huang
@ 2022-01-24  7:28 ` Huang Rui
  2 siblings, 0 replies; 7+ messages in thread
From: Huang Rui @ 2022-01-24  7:28 UTC (permalink / raw)
  To: Huang, Tim; +Cc: Deucher, Alexander, Liu, Aaron, amd-gfx

On Mon, Jan 24, 2022 at 11:20:40AM +0800, Huang, Tim wrote:
> Use IP versions rather than asic_type to differentiate IP version specific features.
> 
> Signed-off-by: Tim Huang <xiaohu.huang@amd.com>

Reviewed-by: Huang Rui <ray.huang@amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c | 48 ++++++++++++++++++--------
>  1 file changed, 34 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c b/drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c
> index 3444332ea110..70e341d884d5 100644
> --- a/drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c
> +++ b/drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c
> @@ -59,10 +59,15 @@ static u32 nbio_v7_2_get_rev_id(struct amdgpu_device *adev)
>  {
>  	u32 tmp;
>  
> -	if (adev->asic_type == CHIP_YELLOW_CARP)
> +	switch (adev->ip_versions[NBIO_HWIP][0]) {
> +	case IP_VERSION(7, 2, 1):
> +	case IP_VERSION(7, 5, 0):
>  		tmp = RREG32_SOC15(NBIO, 0, regRCC_STRAP0_RCC_DEV0_EPF0_STRAP0_YC);
> -	else
> +		break;
> +	default:
>  		tmp = RREG32_SOC15(NBIO, 0, regRCC_STRAP0_RCC_DEV0_EPF0_STRAP0);
> +		break;
> +	}
>  
>  	tmp &= RCC_STRAP0_RCC_DEV0_EPF0_STRAP0__STRAP_ATI_REV_ID_DEV0_F0_MASK;
>  	tmp >>= RCC_STRAP0_RCC_DEV0_EPF0_STRAP0__STRAP_ATI_REV_ID_DEV0_F0__SHIFT;
> @@ -72,20 +77,25 @@ static u32 nbio_v7_2_get_rev_id(struct amdgpu_device *adev)
>  
>  static void nbio_v7_2_mc_access_enable(struct amdgpu_device *adev, bool enable)
>  {
> -	if (enable)
> -		if (adev->asic_type == CHIP_YELLOW_CARP)
> +	switch (adev->ip_versions[NBIO_HWIP][0]) {
> +	case IP_VERSION(7, 2, 1):
> +	case IP_VERSION(7, 5, 0):
> +		if (enable)
>  			WREG32_SOC15(NBIO, 0, regBIF_BX0_BIF_FB_EN_YC,
>  				BIF_BX0_BIF_FB_EN__FB_READ_EN_MASK |
>  				BIF_BX0_BIF_FB_EN__FB_WRITE_EN_MASK);
>  		else
> +			WREG32_SOC15(NBIO, 0, regBIF_BX0_BIF_FB_EN_YC, 0);
> +	break;
> +	default:
> +		if (enable)
>  			WREG32_SOC15(NBIO, 0, regBIF_BX0_BIF_FB_EN,
>  				BIF_BX0_BIF_FB_EN__FB_READ_EN_MASK |
>  				BIF_BX0_BIF_FB_EN__FB_WRITE_EN_MASK);
> -	else
> -		if (adev->asic_type == CHIP_YELLOW_CARP)
> -			WREG32_SOC15(NBIO, 0, regBIF_BX0_BIF_FB_EN_YC, 0);
>  		else
>  			WREG32_SOC15(NBIO, 0, regBIF_BX0_BIF_FB_EN, 0);
> +		break;
> +	}
>  }
>  
>  static u32 nbio_v7_2_get_memsize(struct amdgpu_device *adev)
> @@ -249,8 +259,10 @@ static void nbio_v7_2_update_medium_grain_light_sleep(struct amdgpu_device *adev
>  						      bool enable)
>  {
>  	uint32_t def, data;
> -
> -	if (adev->asic_type == CHIP_YELLOW_CARP) {
> +	
> +	switch (adev->ip_versions[NBIO_HWIP][0]) {
> +	case IP_VERSION(7, 2, 1):
> +	case IP_VERSION(7, 5, 0):
>  		def = data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CNTL2));
>  		if (enable && (adev->cg_flags & AMD_CG_SUPPORT_BIF_LS))
>  			data |= PCIE_CNTL2__SLV_MEM_LS_EN_MASK;
> @@ -260,8 +272,8 @@ static void nbio_v7_2_update_medium_grain_light_sleep(struct amdgpu_device *adev
>  		if (def != data)
>  			WREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CNTL2), data);
>  
> -		data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regBIF1_PCIE_TX_POWER_CTRL_1));
> -		def = data;
> +		def = data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, 
> +			regBIF1_PCIE_TX_POWER_CTRL_1));
>  		if (enable && (adev->cg_flags & AMD_CG_SUPPORT_BIF_LS))
>  			data |= (BIF1_PCIE_TX_POWER_CTRL_1__MST_MEM_LS_EN_MASK |
>  				BIF1_PCIE_TX_POWER_CTRL_1__REPLAY_MEM_LS_EN_MASK);
> @@ -272,7 +284,8 @@ static void nbio_v7_2_update_medium_grain_light_sleep(struct amdgpu_device *adev
>  		if (def != data)
>  			WREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regBIF1_PCIE_TX_POWER_CTRL_1),
>  				data);
> -	} else {
> +		break;
> +	default:
>  		def = data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CNTL2));
>  		if (enable && (adev->cg_flags & AMD_CG_SUPPORT_BIF_LS))
>  			data |= (PCIE_CNTL2__SLV_MEM_LS_EN_MASK |
> @@ -285,6 +298,8 @@ static void nbio_v7_2_update_medium_grain_light_sleep(struct amdgpu_device *adev
>  
>  		if (def != data)
>  			WREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CNTL2), data);
> +
> +		break;
>  	}
>  }
>  
> @@ -352,7 +367,9 @@ const struct nbio_hdp_flush_reg nbio_v7_2_hdp_flush_reg = {
>  static void nbio_v7_2_init_registers(struct amdgpu_device *adev)
>  {
>  	uint32_t def, data;
> -	if (adev->asic_type == CHIP_YELLOW_CARP) {
> +	switch (adev->ip_versions[NBIO_HWIP][0]) {
> +	case IP_VERSION(7, 2, 1):
> +	case IP_VERSION(7, 5, 0):
>  		def = data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regBIF1_PCIE_MST_CTRL_3));
>  		data = REG_SET_FIELD(data, BIF1_PCIE_MST_CTRL_3,
>  			CI_SWUS_MAX_READ_REQUEST_SIZE_MODE, 1);
> @@ -361,7 +378,8 @@ static void nbio_v7_2_init_registers(struct amdgpu_device *adev)
>  
>  		if (def != data)
>  			WREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regBIF1_PCIE_MST_CTRL_3), data);
> -	} else {
> +		break;
> +	default:
>  		def = data = RREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CONFIG_CNTL));
>  		data = REG_SET_FIELD(data, PCIE_CONFIG_CNTL,
>  			CI_SWUS_MAX_READ_REQUEST_SIZE_MODE, 1);
> @@ -370,6 +388,8 @@ static void nbio_v7_2_init_registers(struct amdgpu_device *adev)
>  
>  		if (def != data)
>  			WREG32_PCIE_PORT(SOC15_REG_OFFSET(NBIO, 0, regPCIE_CONFIG_CNTL), data);
> +
> +		break;
>  	}
>  
>  	if (amdgpu_sriov_vf(adev))
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3] drm/amdgpu: convert to UVD IP version checking
  2022-01-24  3:20 ` [PATCH 2/3] drm/amdgpu: convert to UVD " Tim Huang
@ 2022-01-24  7:32   ` Huang Rui
  0 siblings, 0 replies; 7+ messages in thread
From: Huang Rui @ 2022-01-24  7:32 UTC (permalink / raw)
  To: Huang, Tim; +Cc: Deucher, Alexander, Liu, Aaron, amd-gfx

On Mon, Jan 24, 2022 at 11:20:41AM +0800, Huang, Tim wrote:
> Use IP versions rather than asic_type to differentiate IP version specific features.
> 
> Signed-off-by: Tim Huang <xiaohu.huang@amd.com>

Reviewed-by: Huang Rui <ray.huang@amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c b/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c
> index 01c242c5abc3..c5ffb14ba183 100644
> --- a/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/jpeg_v3_0.c
> @@ -50,11 +50,16 @@ static int jpeg_v3_0_early_init(void *handle)
>  {
>  	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
>  
> -	if (adev->asic_type != CHIP_YELLOW_CARP) {
> -		u32 harvest = RREG32_SOC15(JPEG, 0, mmCC_UVD_HARVESTING);
> +	u32 harvest;
>  
> +	switch (adev->ip_versions[UVD_HWIP][0]) {
> +	case IP_VERSION(3, 1, 1): 
> +		break;
> +	default:
> +		harvest = RREG32_SOC15(JPEG, 0, mmCC_UVD_HARVESTING);
>  		if (harvest & CC_UVD_HARVESTING__UVD_DISABLE_MASK)
>  			return -ENOENT;
> +		break;
>  	}
>  
>  	adev->jpeg.num_jpeg_inst = 1;
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/3] drm/amd/display: convert to DCE IP version checking
  2022-01-24  3:20 ` [PATCH 3/3] drm/amd/display: convert to DCE " Tim Huang
  2022-01-24  6:14   ` Liu, Aaron
@ 2022-01-24  7:34   ` Huang Rui
  1 sibling, 0 replies; 7+ messages in thread
From: Huang Rui @ 2022-01-24  7:34 UTC (permalink / raw)
  To: Huang, Tim; +Cc: Deucher, Alexander, Liu, Aaron, amd-gfx

On Mon, Jan 24, 2022 at 11:20:42AM +0800, Huang, Tim wrote:
> Use IP versions rather than asic_type to differentiate IP version specific features.
> 
> Signed-off-by: Tim Huang <xiaohu.huang@amd.com>
> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 87299e62fe12..c967e1e344e4 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -1119,19 +1119,17 @@ static int dm_dmub_hw_init(struct amdgpu_device *adev)
>  	for (i = 0; i < fb_info->num_fb; ++i)
>  		hw_params.fb[i] = &fb_info->fb[i];
>  
> -	switch (adev->asic_type) {
> -	case CHIP_YELLOW_CARP:
> -		if (dc->ctx->asic_id.hw_internal_rev != YELLOW_CARP_A0) {
> -			hw_params.dpia_supported = true;
> +	switch (adev->ip_versions[DCE_HWIP][0]) {
> +	case IP_VERSION(3, 1, 3): /* Only for this asic hw internal rev B0 */

There is another way to define a APU flag on enum amd_apu_flags to
differentiate A0 and B0 for yellow carp.

But this way looks good for me as well.
Patch is Acked-by: Huang Rui <ray.huang@amd.com>

> +		hw_params.dpia_supported = true;
>  #if defined(CONFIG_DRM_AMD_DC_DCN)
> -			hw_params.disable_dpia = dc->debug.dpia_debug.bits.disable_dpia;
> +		hw_params.disable_dpia = dc->debug.dpia_debug.bits.disable_dpia;
>  #endif
> -		}
>  		break;
>  	default:
>  		break;
>  	}
> -
> +	
>  	status = dmub_srv_hw_init(dmub_srv, &hw_params);
>  	if (status != DMUB_STATUS_OK) {
>  		DRM_ERROR("Error initializing DMUB HW: %d\n", status);
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-01-24  7:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-24  3:20 [PATCH 1/3] drm/amdgpu: convert to NBIO IP version checking Tim Huang
2022-01-24  3:20 ` [PATCH 2/3] drm/amdgpu: convert to UVD " Tim Huang
2022-01-24  7:32   ` Huang Rui
2022-01-24  3:20 ` [PATCH 3/3] drm/amd/display: convert to DCE " Tim Huang
2022-01-24  6:14   ` Liu, Aaron
2022-01-24  7:34   ` Huang Rui
2022-01-24  7:28 ` [PATCH 1/3] drm/amdgpu: convert to NBIO " Huang Rui

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.