diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-08-18 02:53:29 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-08-18 02:53:29 -0400 |
commit | 479a6daefe46f985c415b0d000b1b1b820f3924e (patch) | |
tree | 0974f9300b99990afef12e6050008f32b5bfe820 /src/atombios_crtc.c | |
parent | 8fd6f69c84103b277de70181988e843da23c85b0 (diff) |
AVIVO: add support for DisplayPriority HIGH
If the DisplayPriority option is set to HIGH,
force the diplay mem requests to urgent.
Diffstat (limited to 'src/atombios_crtc.c')
-rw-r--r-- | src/atombios_crtc.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/atombios_crtc.c b/src/atombios_crtc.c index e04b3c41..176efa65 100644 --- a/src/atombios_crtc.c +++ b/src/atombios_crtc.c @@ -807,7 +807,7 @@ RADEONInitDispBandwidthAVIVO(ScrnInfoPtr pScrn, float consumption_time, consumption_rate; int num_line_pair, request_fifo_depth, lb_request_fifo_depth; int max_req; - uint32_t lb_max_req_outstanding; + uint32_t lb_max_req_outstanding, priority_cnt; float line_time, active_time, chunk_time; float worst_case_latency, tolerable_latency; float fill_rate; @@ -1131,16 +1131,21 @@ RADEONInitDispBandwidthAVIVO(ScrnInfoPtr pScrn, else if (priority_mark > priority_mark_max) priority_mark = priority_mark_max; + priority_cnt = priority_mark & AVIVO_DxMODE_PRIORITY_MARK_MASK; + + if (info->DispPriority == 2) + priority_cnt |= AVIVO_DxMODE_PRIORITY_ALWAYS_ON; + /*ErrorF("priority_mark %d: 0x%x\n", i, priority_mark);*/ /* Determine which display to program priority mark for */ /* FIXME: program DxMODE_PRIORITY_B_CNT for slower sclk */ if (i == 0) { - OUTREG(AVIVO_D1MODE_PRIORITY_A_CNT, (priority_mark & AVIVO_DxMODE_PRIORITY_MARK_MASK)); - OUTREG(AVIVO_D1MODE_PRIORITY_B_CNT, (priority_mark & AVIVO_DxMODE_PRIORITY_MARK_MASK)); + OUTREG(AVIVO_D1MODE_PRIORITY_A_CNT, priority_cnt); + OUTREG(AVIVO_D1MODE_PRIORITY_B_CNT, priority_cnt); } else { - OUTREG(AVIVO_D2MODE_PRIORITY_A_CNT, (priority_mark & AVIVO_DxMODE_PRIORITY_MARK_MASK)); - OUTREG(AVIVO_D2MODE_PRIORITY_B_CNT, (priority_mark & AVIVO_DxMODE_PRIORITY_MARK_MASK)); + OUTREG(AVIVO_D2MODE_PRIORITY_A_CNT, priority_cnt); + OUTREG(AVIVO_D2MODE_PRIORITY_B_CNT, priority_cnt); } } |