Re: vga handover for raven

2018-03-14 Thread Tom St Denis

This diff on top of drm-next works fine

diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 
b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c

index 4365906b14ee..7688ed5724b9 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
@@ -228,6 +228,9 @@ static void disable_vga(
return;

REG_WRITE(D1VGA_CONTROL, 0);
+   REG_WRITE(D2VGA_CONTROL, 0);
+   REG_WRITE(D3VGA_CONTROL, 0);
+   REG_WRITE(D4VGA_CONTROL, 0);

/* HW Engineer's Notes:
 *  During switch from vga->extended, if we set the 
VGA_TEST_ENABLE and



I can't test suspend/resume right now since I don't have the gfxoff 
branch handy.


Tom

On 03/14/2018 10:55 AM, Yang, Eric wrote:

If there is no VGA hand over, the change should make no difference. In the VGA 
hand over case, the difference introduced is the following, we can try to 
revert this part of the commit, which should not break S3.

 REG_WRITE(D1VGA_CONTROL, 0);
-   REG_WRITE(D2VGA_CONTROL, 0);
-   REG_WRITE(D3VGA_CONTROL, 0);
-   REG_WRITE(D4VGA_CONTROL, 0);

-Original Message-
From: StDenis, Tom
Sent: Wednesday, March 14, 2018 10:12 AM
To: Wentland, Harry <harry.wentl...@amd.com>; Lakha, Bhawanpreet 
<bhawanpreet.la...@amd.com>
Cc: amd-gfx@lists.freedesktop.org; Cheng, Tony <tony.ch...@amd.com>; Yang, Eric 
<eric.ya...@amd.com>
Subject: Re: vga handover for raven

Hi Harry,

Reverting that on top of the current amd-staging-drm-next seems to have fixed 
the issue.

Thanks,
Tom

On 03/14/2018 10:08 AM, Harry Wentland wrote:

On 2018-03-14 09:54 AM, Tom St Denis wrote:

Hi,

In the original version of the patch we had:

@@ -358,7 +360,9 @@ struct dce_hwseq_registers {

      HWSEQ_PIXEL_RATE_MASK_SH_LIST(mask_sh, OTG0_),\
      HWS_SF1(OTG0_, PHYPLL_PIXEL_RATE_CNTL,
PHYPLL_PIXEL_RATE_SOURCE, mask_sh), \
      HWS_SF(, DCHUBBUB_GLOBAL_TIMER_CNTL,
DCHUBBUB_GLOBAL_TIMER_ENABLE, mask_sh), \
-   HWS_SF(, DCFCLK_CNTL, DCFCLK_GATE_DIS, mask_sh)

+   HWS_SF(, DCFCLK_CNTL, DCFCLK_GATE_DIS, mask_sh),\

+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_ENABLE, mask_sh),\

+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_RENDER_START, mask_sh)



Which somehow changed into

@@ -404,7 +406,9 @@ struct dce_hwseq_registers {
      HWS_SF(, DOMAIN7_PG_STATUS, DOMAIN7_PGFSM_PWR_STATUS,
mask_sh), \
      HWS_SF(, DC_IP_REQUEST_CNTL, IP_REQUEST_EN, mask_sh), \
      HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_BLON, mask_sh), \
-   HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R,
mask_sh)
+   HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R,
+mask_sh), \
+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_ENABLE, mask_sh),\
+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_RENDER_START, mask_sh)



This is just defining the VGA_TEST registers for use by DC. It shouldn't have 
an impact on that patch.


And the net result is the display doesn't work (same glitches as before) on a 
raven1 device.



Can you see if reverting this commit fixes it?
1b0ff66bc0bf drm/amd/display: early return if not in vga mode in
disable_vga

If introduced a check to see if we're actually in VGA mode and only then 
applied the workaround. I believe it's to avoid problems resuming from S3.

Harry


Tom

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


RE: vga handover for raven

2018-03-14 Thread Yang, Eric
If there is no VGA hand over, the change should make no difference. In the VGA 
hand over case, the difference introduced is the following, we can try to 
revert this part of the commit, which should not break S3.

REG_WRITE(D1VGA_CONTROL, 0);
-   REG_WRITE(D2VGA_CONTROL, 0);
-   REG_WRITE(D3VGA_CONTROL, 0);
-   REG_WRITE(D4VGA_CONTROL, 0);

-Original Message-
From: StDenis, Tom 
Sent: Wednesday, March 14, 2018 10:12 AM
To: Wentland, Harry <harry.wentl...@amd.com>; Lakha, Bhawanpreet 
<bhawanpreet.la...@amd.com>
Cc: amd-gfx@lists.freedesktop.org; Cheng, Tony <tony.ch...@amd.com>; Yang, Eric 
<eric.ya...@amd.com>
Subject: Re: vga handover for raven

Hi Harry,

Reverting that on top of the current amd-staging-drm-next seems to have fixed 
the issue.

Thanks,
Tom

On 03/14/2018 10:08 AM, Harry Wentland wrote:
> On 2018-03-14 09:54 AM, Tom St Denis wrote:
>> Hi,
>>
>> In the original version of the patch we had:
>>
>> @@ -358,7 +360,9 @@ struct dce_hwseq_registers {
>>
>>      HWSEQ_PIXEL_RATE_MASK_SH_LIST(mask_sh, OTG0_),\
>>      HWS_SF1(OTG0_, PHYPLL_PIXEL_RATE_CNTL, 
>> PHYPLL_PIXEL_RATE_SOURCE, mask_sh), \
>>      HWS_SF(, DCHUBBUB_GLOBAL_TIMER_CNTL, 
>> DCHUBBUB_GLOBAL_TIMER_ENABLE, mask_sh), \
>> -   HWS_SF(, DCFCLK_CNTL, DCFCLK_GATE_DIS, mask_sh)
>>
>> +   HWS_SF(, DCFCLK_CNTL, DCFCLK_GATE_DIS, mask_sh),\
>>
>> +   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_ENABLE, mask_sh),\
>>
>> +   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_RENDER_START, mask_sh)
>>
>>
>>
>> Which somehow changed into
>>
>> @@ -404,7 +406,9 @@ struct dce_hwseq_registers {
>>      HWS_SF(, DOMAIN7_PG_STATUS, DOMAIN7_PGFSM_PWR_STATUS, 
>> mask_sh), \
>>      HWS_SF(, DC_IP_REQUEST_CNTL, IP_REQUEST_EN, mask_sh), \
>>      HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_BLON, mask_sh), \
>> -   HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, 
>> mask_sh)
>> +   HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, 
>> +mask_sh), \
>> +   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_ENABLE, mask_sh),\
>> +   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_RENDER_START, mask_sh)
>>
> 
> This is just defining the VGA_TEST registers for use by DC. It shouldn't have 
> an impact on that patch.
> 
>> And the net result is the display doesn't work (same glitches as before) on 
>> a raven1 device.
>>
> 
> Can you see if reverting this commit fixes it?
>   1b0ff66bc0bf drm/amd/display: early return if not in vga mode in 
> disable_vga
> 
> If introduced a check to see if we're actually in VGA mode and only then 
> applied the workaround. I believe it's to avoid problems resuming from S3.
> 
> Harry
> 
>> Tom
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: vga handover for raven

2018-03-14 Thread Tom St Denis

Hi Harry,

Reverting that on top of the current amd-staging-drm-next seems to have 
fixed the issue.


Thanks,
Tom

On 03/14/2018 10:08 AM, Harry Wentland wrote:

On 2018-03-14 09:54 AM, Tom St Denis wrote:

Hi,

In the original version of the patch we had:

@@ -358,7 +360,9 @@ struct dce_hwseq_registers {

     HWSEQ_PIXEL_RATE_MASK_SH_LIST(mask_sh, OTG0_),\
     HWS_SF1(OTG0_, PHYPLL_PIXEL_RATE_CNTL, PHYPLL_PIXEL_RATE_SOURCE, 
mask_sh), \
     HWS_SF(, DCHUBBUB_GLOBAL_TIMER_CNTL, DCHUBBUB_GLOBAL_TIMER_ENABLE, 
mask_sh), \
-   HWS_SF(, DCFCLK_CNTL, DCFCLK_GATE_DIS, mask_sh)

+   HWS_SF(, DCFCLK_CNTL, DCFCLK_GATE_DIS, mask_sh),\

+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_ENABLE, mask_sh),\

+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_RENDER_START, mask_sh)



Which somehow changed into

@@ -404,7 +406,9 @@ struct dce_hwseq_registers {
     HWS_SF(, DOMAIN7_PG_STATUS, DOMAIN7_PGFSM_PWR_STATUS, mask_sh), \
     HWS_SF(, DC_IP_REQUEST_CNTL, IP_REQUEST_EN, mask_sh), \
     HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_BLON, mask_sh), \
-   HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, mask_sh)
+   HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, mask_sh), \
+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_ENABLE, mask_sh),\
+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_RENDER_START, mask_sh)



This is just defining the VGA_TEST registers for use by DC. It shouldn't have 
an impact on that patch.


And the net result is the display doesn't work (same glitches as before) on a 
raven1 device.



Can you see if reverting this commit fixes it?
1b0ff66bc0bf drm/amd/display: early return if not in vga mode in 
disable_vga

If introduced a check to see if we're actually in VGA mode and only then 
applied the workaround. I believe it's to avoid problems resuming from S3.

Harry


Tom

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


vga handover for raven

2018-03-14 Thread Tom St Denis

Hi,

In the original version of the patch we had:

@@ -358,7 +360,9 @@ struct dce_hwseq_registers { 



HWSEQ_PIXEL_RATE_MASK_SH_LIST(mask_sh, OTG0_),\
HWS_SF1(OTG0_, PHYPLL_PIXEL_RATE_CNTL, 
PHYPLL_PIXEL_RATE_SOURCE, mask_sh), \
HWS_SF(, DCHUBBUB_GLOBAL_TIMER_CNTL, 
DCHUBBUB_GLOBAL_TIMER_ENABLE, mask_sh), \
-   HWS_SF(, DCFCLK_CNTL, DCFCLK_GATE_DIS, mask_sh) 



+   HWS_SF(, DCFCLK_CNTL, DCFCLK_GATE_DIS, mask_sh),\ 



+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_ENABLE, mask_sh),\ 



+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_RENDER_START, mask_sh) 





Which somehow changed into

@@ -404,7 +406,9 @@ struct dce_hwseq_registers { 


HWS_SF(, DOMAIN7_PG_STATUS, DOMAIN7_PGFSM_PWR_STATUS, mask_sh), \
HWS_SF(, DC_IP_REQUEST_CNTL, IP_REQUEST_EN, mask_sh), \
HWS_SF(, LVTMA_PWRSEQ_CNTL, LVTMA_BLON, mask_sh), \
-   HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, 
mask_sh)
+   HWS_SF(, LVTMA_PWRSEQ_STATE, LVTMA_PWRSEQ_TARGET_STATE_R, 
mask_sh), \
+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_ENABLE, mask_sh),\ 

+   HWS_SF(, VGA_TEST_CONTROL, VGA_TEST_RENDER_START, mask_sh) 



And the net result is the display doesn't work (same glitches as before) 
on a raven1 device.


Tom
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx