aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_mode.h
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2009-07-13 15:04:08 -0400
committerDave Airlie <airlied@redhat.com>2009-07-29 01:45:09 -0400
commitc93bb85b5cba3e3a06f2cad8e9bc5c23d3d10aac (patch)
tree3168bee69e08dcb1f0f509b03ea1693a688d34ef /drivers/gpu/drm/radeon/radeon_mode.h
parente024e11070a0a0dc7163ce1ec2da354a638bdbed (diff)
drm/radeon/kms: fix bandwidth computation on avivo hardware
Fix bandwidth computation and crtc priority in memory controller so that crtc memory request are fullfill in time to avoid display artifact. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_mode.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon_mode.h48
1 files changed, 24 insertions, 24 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h
index ba89b59f6e50..3b09a1f2d8f9 100644
--- a/drivers/gpu/drm/radeon/radeon_mode.h
+++ b/drivers/gpu/drm/radeon/radeon_mode.h
@@ -36,6 +36,9 @@
36#include <linux/i2c.h> 36#include <linux/i2c.h>
37#include <linux/i2c-id.h> 37#include <linux/i2c-id.h>
38#include <linux/i2c-algo-bit.h> 38#include <linux/i2c-algo-bit.h>
39#include "radeon_fixed.h"
40
41struct radeon_device;
39 42
40#define to_radeon_crtc(x) container_of(x, struct radeon_crtc, base) 43#define to_radeon_crtc(x) container_of(x, struct radeon_crtc, base)
41#define to_radeon_connector(x) container_of(x, struct radeon_connector, base) 44#define to_radeon_connector(x) container_of(x, struct radeon_connector, base)
@@ -171,6 +174,18 @@ struct radeon_mode_info {
171 struct atom_context *atom_context; 174 struct atom_context *atom_context;
172 enum radeon_connector_table connector_table; 175 enum radeon_connector_table connector_table;
173 bool mode_config_initialized; 176 bool mode_config_initialized;
177 struct radeon_crtc *crtcs[2];
178};
179
180struct radeon_native_mode {
181 /* preferred mode */
182 uint32_t panel_xres, panel_yres;
183 uint32_t hoverplus, hsync_width;
184 uint32_t hblank;
185 uint32_t voverplus, vsync_width;
186 uint32_t vblank;
187 uint32_t dotclock;
188 uint32_t flags;
174}; 189};
175 190
176struct radeon_crtc { 191struct radeon_crtc {
@@ -188,19 +203,11 @@ struct radeon_crtc {
188 int cursor_height; 203 int cursor_height;
189 uint32_t legacy_display_base_addr; 204 uint32_t legacy_display_base_addr;
190 uint32_t legacy_cursor_offset; 205 uint32_t legacy_cursor_offset;
191}; 206 enum radeon_rmx_type rmx_type;
192 207 uint32_t devices;
193#define RADEON_USE_RMX 1 208 fixed20_12 vsc;
194 209 fixed20_12 hsc;
195struct radeon_native_mode { 210 struct radeon_native_mode native_mode;
196 /* preferred mode */
197 uint32_t panel_xres, panel_yres;
198 uint32_t hoverplus, hsync_width;
199 uint32_t hblank;
200 uint32_t voverplus, vsync_width;
201 uint32_t vblank;
202 uint32_t dotclock;
203 uint32_t flags;
204}; 211};
205 212
206struct radeon_encoder_primary_dac { 213struct radeon_encoder_primary_dac {
@@ -386,16 +393,9 @@ void radeon_enc_destroy(struct drm_encoder *encoder);
386void radeon_copy_fb(struct drm_device *dev, struct drm_gem_object *dst_obj); 393void radeon_copy_fb(struct drm_device *dev, struct drm_gem_object *dst_obj);
387void radeon_combios_asic_init(struct drm_device *dev); 394void radeon_combios_asic_init(struct drm_device *dev);
388extern int radeon_static_clocks_init(struct drm_device *dev); 395extern int radeon_static_clocks_init(struct drm_device *dev);
389void radeon_init_disp_bw_legacy(struct drm_device *dev, 396bool radeon_crtc_scaling_mode_fixup(struct drm_crtc *crtc,
390 struct drm_display_mode *mode1, 397 struct drm_display_mode *mode,
391 uint32_t pixel_bytes1, 398 struct drm_display_mode *adjusted_mode);
392 struct drm_display_mode *mode2, 399void atom_rv515_force_tv_scaler(struct radeon_device *rdev);
393 uint32_t pixel_bytes2);
394void radeon_init_disp_bw_avivo(struct drm_device *dev,
395 struct drm_display_mode *mode1,
396 uint32_t pixel_bytes1,
397 struct drm_display_mode *mode2,
398 uint32_t pixel_bytes2);
399void radeon_init_disp_bandwidth(struct drm_device *dev);
400 400
401#endif 401#endif