Updated from Linux LTS 3.10.25 to 3.10.26
This commit is contained in:
@@ -1176,7 +1176,9 @@ static int dce4_crtc_do_set_base(struct drm_crtc *crtc,
|
||||
if ((rdev->family == CHIP_TAHITI) ||
|
||||
(rdev->family == CHIP_PITCAIRN))
|
||||
fb_format |= SI_GRPH_PIPE_CONFIG(SI_ADDR_SURF_P8_32x32_8x16);
|
||||
else if (rdev->family == CHIP_VERDE)
|
||||
else if ((rdev->family == CHIP_VERDE) ||
|
||||
(rdev->family == CHIP_OLAND) ||
|
||||
(rdev->family == CHIP_HAINAN)) /* for completeness. HAINAN has no display hw */
|
||||
fb_format |= SI_GRPH_PIPE_CONFIG(SI_ADDR_SURF_P4_8x16);
|
||||
|
||||
switch (radeon_crtc->crtc_id) {
|
||||
|
||||
@@ -753,6 +753,10 @@ static void cayman_gpu_init(struct radeon_device *rdev)
|
||||
(rdev->pdev->device == 0x999C)) {
|
||||
rdev->config.cayman.max_simds_per_se = 6;
|
||||
rdev->config.cayman.max_backends_per_se = 2;
|
||||
rdev->config.cayman.max_hw_contexts = 8;
|
||||
rdev->config.cayman.sx_max_export_size = 256;
|
||||
rdev->config.cayman.sx_max_export_pos_size = 64;
|
||||
rdev->config.cayman.sx_max_export_smx_size = 192;
|
||||
} else if ((rdev->pdev->device == 0x9903) ||
|
||||
(rdev->pdev->device == 0x9904) ||
|
||||
(rdev->pdev->device == 0x990A) ||
|
||||
@@ -763,6 +767,10 @@ static void cayman_gpu_init(struct radeon_device *rdev)
|
||||
(rdev->pdev->device == 0x999D)) {
|
||||
rdev->config.cayman.max_simds_per_se = 4;
|
||||
rdev->config.cayman.max_backends_per_se = 2;
|
||||
rdev->config.cayman.max_hw_contexts = 8;
|
||||
rdev->config.cayman.sx_max_export_size = 256;
|
||||
rdev->config.cayman.sx_max_export_pos_size = 64;
|
||||
rdev->config.cayman.sx_max_export_smx_size = 192;
|
||||
} else if ((rdev->pdev->device == 0x9919) ||
|
||||
(rdev->pdev->device == 0x9990) ||
|
||||
(rdev->pdev->device == 0x9991) ||
|
||||
@@ -773,9 +781,17 @@ static void cayman_gpu_init(struct radeon_device *rdev)
|
||||
(rdev->pdev->device == 0x99A0)) {
|
||||
rdev->config.cayman.max_simds_per_se = 3;
|
||||
rdev->config.cayman.max_backends_per_se = 1;
|
||||
rdev->config.cayman.max_hw_contexts = 4;
|
||||
rdev->config.cayman.sx_max_export_size = 128;
|
||||
rdev->config.cayman.sx_max_export_pos_size = 32;
|
||||
rdev->config.cayman.sx_max_export_smx_size = 96;
|
||||
} else {
|
||||
rdev->config.cayman.max_simds_per_se = 2;
|
||||
rdev->config.cayman.max_backends_per_se = 1;
|
||||
rdev->config.cayman.max_hw_contexts = 4;
|
||||
rdev->config.cayman.sx_max_export_size = 128;
|
||||
rdev->config.cayman.sx_max_export_pos_size = 32;
|
||||
rdev->config.cayman.sx_max_export_smx_size = 96;
|
||||
}
|
||||
rdev->config.cayman.max_texture_channel_caches = 2;
|
||||
rdev->config.cayman.max_gprs = 256;
|
||||
@@ -783,10 +799,6 @@ static void cayman_gpu_init(struct radeon_device *rdev)
|
||||
rdev->config.cayman.max_gs_threads = 32;
|
||||
rdev->config.cayman.max_stack_entries = 512;
|
||||
rdev->config.cayman.sx_num_of_sets = 8;
|
||||
rdev->config.cayman.sx_max_export_size = 256;
|
||||
rdev->config.cayman.sx_max_export_pos_size = 64;
|
||||
rdev->config.cayman.sx_max_export_smx_size = 192;
|
||||
rdev->config.cayman.max_hw_contexts = 8;
|
||||
rdev->config.cayman.sq_num_cf_insts = 2;
|
||||
|
||||
rdev->config.cayman.sc_prim_fifo_size = 0x40;
|
||||
|
||||
@@ -460,7 +460,7 @@ static int radeon_uvd_cs_reloc(struct radeon_cs_parser *p,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if ((start >> 28) != (end >> 28)) {
|
||||
if ((start >> 28) != ((end - 1) >> 28)) {
|
||||
DRM_ERROR("reloc %LX-%LX crossing 256MB boundary!\n",
|
||||
start, end);
|
||||
return -EINVAL;
|
||||
|
||||
@@ -162,6 +162,16 @@ static void rs690_mc_init(struct radeon_device *rdev)
|
||||
base = RREG32_MC(R_000100_MCCFG_FB_LOCATION);
|
||||
base = G_000100_MC_FB_START(base) << 16;
|
||||
rdev->mc.igp_sideport_enabled = radeon_atombios_sideport_present(rdev);
|
||||
/* Some boards seem to be configured for 128MB of sideport memory,
|
||||
* but really only have 64MB. Just skip the sideport and use
|
||||
* UMA memory.
|
||||
*/
|
||||
if (rdev->mc.igp_sideport_enabled &&
|
||||
(rdev->mc.real_vram_size == (384 * 1024 * 1024))) {
|
||||
base += 128 * 1024 * 1024;
|
||||
rdev->mc.real_vram_size -= 128 * 1024 * 1024;
|
||||
rdev->mc.mc_vram_size = rdev->mc.real_vram_size;
|
||||
}
|
||||
|
||||
/* Use K8 direct mapping for fast fb access. */
|
||||
rdev->fastfb_working = false;
|
||||
|
||||
Reference in New Issue
Block a user