aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorJP Abgrall <jpa@google.com>2012-05-04 15:03:06 -0700
committerJP Abgrall <jpa@google.com>2012-05-04 15:03:06 -0700
commit84b5110abf84dfe8cbcb1434488f259137ac232e (patch)
tree77ceac266f22138afee355b00f0b8d075b23d73a /drivers/gpu
parent601b4b2b4a396b69e4524d1c3065d0d80efd0cb5 (diff)
parent758aaf52f607604164e93feff93b725d491e44f7 (diff)
downloadkernel_samsung_crespo-84b5110abf84dfe8cbcb1434488f259137ac232e.zip
kernel_samsung_crespo-84b5110abf84dfe8cbcb1434488f259137ac232e.tar.gz
kernel_samsung_crespo-84b5110abf84dfe8cbcb1434488f259137ac232e.tar.bz2
Merge remote-tracking branch 'common/android-3.0' into android-samsung-30-wip-mergedown
* common/android-3.0: (135 commits) net: wireless: bcmdhd: Avoid turning radio UP twice on start cpufreq: interactive: add boost pulse interface net: wireless: bcmdhd: Set MMC_PM_KEEP_POWER flag on suspend net: wireless: bcmdhd: Update to Version 5.90.195.61 net: wireless: bcmdhd: Turn OFF wlan power if interface UP fails ARM: vfp: only clear vfp state for current cpu in vfp_pm_suspend arm: vfp: Fix memory corruption on PM suspend Linux 3.0.30 tcp: fix TCP_MAXSEG for established IPv6 passive sockets net ax25: Reorder ax25_exit to remove races. ksz884x: don't copy too much in netdev_set_mac_address() netns: do not leak net_generic data on failed init tcp: fix tcp_grow_window() for large incoming frames dummy: Add ndo_uninit(). net: usb: smsc75xx: fix mtu net_sched: gred: Fix oops in gred_dump() in WRED mode net/ethernet: ks8851_mll fix rx frame buffer overflow net: smsc911x: fix skb handling in receive path 8139cp: set intr mask after its handler is registered atl1: fix kernel panic in case of DMA errors ...
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_connectors.c4
-rw-r--r--drivers/gpu/drm/radeon/radeon_i2c.c4
-rw-r--r--drivers/gpu/drm/radeon/radeon_irq_kms.c6
4 files changed, 13 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 1f61fc7..2d6039b 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -863,7 +863,7 @@ int intel_init_ring_buffer(struct drm_device *dev,
* of the buffer.
*/
ring->effective_size = ring->size;
- if (IS_I830(ring->dev))
+ if (IS_I830(ring->dev) || IS_845G(ring->dev))
ring->effective_size -= 128;
return 0;
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
index 6ceb3c8..1f6a0f5 100644
--- a/drivers/gpu/drm/radeon/radeon_connectors.c
+++ b/drivers/gpu/drm/radeon/radeon_connectors.c
@@ -990,7 +990,7 @@ radeon_dvi_detect(struct drm_connector *connector, bool force)
encoder = obj_to_encoder(obj);
- if (encoder->encoder_type != DRM_MODE_ENCODER_DAC ||
+ if (encoder->encoder_type != DRM_MODE_ENCODER_DAC &&
encoder->encoder_type != DRM_MODE_ENCODER_TVDAC)
continue;
@@ -1020,6 +1020,7 @@ radeon_dvi_detect(struct drm_connector *connector, bool force)
* cases the DVI port is actually a virtual KVM port connected to the service
* processor.
*/
+out:
if ((!rdev->is_atom_bios) &&
(ret == connector_status_disconnected) &&
rdev->mode_info.bios_hardcoded_edid_size) {
@@ -1027,7 +1028,6 @@ radeon_dvi_detect(struct drm_connector *connector, bool force)
ret = connector_status_connected;
}
-out:
/* updated in get modes as well since we need to know if it's analog or digital */
radeon_connector_update_scratch_regs(connector, ret);
return ret;
diff --git a/drivers/gpu/drm/radeon/radeon_i2c.c b/drivers/gpu/drm/radeon/radeon_i2c.c
index 6c111c1..c90425c 100644
--- a/drivers/gpu/drm/radeon/radeon_i2c.c
+++ b/drivers/gpu/drm/radeon/radeon_i2c.c
@@ -898,6 +898,10 @@ struct radeon_i2c_chan *radeon_i2c_create(struct drm_device *dev,
struct radeon_i2c_chan *i2c;
int ret;
+ /* don't add the mm_i2c bus unless hw_i2c is enabled */
+ if (rec->mm_i2c && (radeon_hw_i2c == 0))
+ return NULL;
+
i2c = kzalloc(sizeof(struct radeon_i2c_chan), GFP_KERNEL);
if (i2c == NULL)
return NULL;
diff --git a/drivers/gpu/drm/radeon/radeon_irq_kms.c b/drivers/gpu/drm/radeon/radeon_irq_kms.c
index 5feb6e9..eb6fe79 100644
--- a/drivers/gpu/drm/radeon/radeon_irq_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_irq_kms.c
@@ -143,6 +143,12 @@ static bool radeon_msi_ok(struct radeon_device *rdev)
(rdev->pdev->subsystem_device == 0x01fd))
return true;
+ /* RV515 seems to have MSI issues where it loses
+ * MSI rearms occasionally. This leads to lockups and freezes.
+ * disable it by default.
+ */
+ if (rdev->family == CHIP_RV515)
+ return false;
if (rdev->flags & RADEON_IS_IGP) {
/* APUs work fine with MSIs */
if (rdev->family >= CHIP_PALM)