diff options
author | Dave Airlie <airlied@redhat.com> | 2013-09-01 19:31:40 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-09-01 19:31:40 -0400 |
commit | 9c725e5bcdae59d5383d4aec33a34c822582dda5 (patch) | |
tree | 3d55827f5f44f16cb0aada2713029f7490f557d4 /include/drm | |
parent | efa27f9cec09518c9b574e3ab4a0a41717237429 (diff) | |
parent | 679fe80fbe964ea7f9f71781c2ca65b630949da3 (diff) |
Merge branch 'drm-next-3.12' of git://people.freedesktop.org/~agd5f/linux into drm-next
Alex writes:
This is the radeon drm-next request. Big changes include:
- support for dpm on CIK parts
- support for ASPM on CIK parts
- support for berlin GPUs
- major ring handling cleanup
- remove the old 3D blit code for bo moves in favor of CP DMA or sDMA
- lots of bug fixes
[airlied: fix up a bunch of conflicts from drm_order removal]
* 'drm-next-3.12' of git://people.freedesktop.org/~agd5f/linux: (898 commits)
drm/radeon/dpm: make sure dc performance level limits are valid (CI)
drm/radeon/dpm: make sure dc performance level limits are valid (BTC-SI) (v2)
drm/radeon: gcc fixes for extended dpm tables
drm/radeon: gcc fixes for kb/kv dpm
drm/radeon: gcc fixes for ci dpm
drm/radeon: gcc fixes for si dpm
drm/radeon: gcc fixes for ni dpm
drm/radeon: gcc fixes for trinity dpm
drm/radeon: gcc fixes for sumo dpm
drm/radeonn: gcc fixes for rv7xx/eg/btc dpm
drm/radeon: gcc fixes for rv6xx dpm
drm/radeon: gcc fixes for radeon_atombios.c
drm/radeon: enable UVD interrupts on CIK
drm/radeon: fix init ordering for r600+
drm/radeon/dpm: only need to reprogram uvd if uvd pg is enabled
drm/radeon: check the return value of uvd_v1_0_start in uvd_v1_0_init
drm/radeon: split out radeon_uvd_resume from uvd_v4_2_resume
radeon kms: fix uninitialised hotplug work usage in r100_irq_process()
drm/radeon/audio: set up the sads on DCE3.2 asics
drm/radeon: fix handling of variable sized arrays for router objects
...
Conflicts:
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_gem_dmabuf.c
drivers/gpu/drm/i915/intel_pm.c
drivers/gpu/drm/radeon/cik.c
drivers/gpu/drm/radeon/ni.c
drivers/gpu/drm/radeon/r600.c
Diffstat (limited to 'include/drm')
-rw-r--r-- | include/drm/drm_edid.h | 1 | ||||
-rw-r--r-- | include/drm/drm_fixed.h | 14 | ||||
-rw-r--r-- | include/drm/drm_pciids.h | 18 |
3 files changed, 26 insertions, 7 deletions
diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h index 7b75621fda4c..a1441c5ac63d 100644 --- a/include/drm/drm_edid.h +++ b/include/drm/drm_edid.h | |||
@@ -260,6 +260,7 @@ struct hdmi_vendor_infoframe; | |||
260 | 260 | ||
261 | void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid); | 261 | void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid); |
262 | int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads); | 262 | int drm_edid_to_sad(struct edid *edid, struct cea_sad **sads); |
263 | int drm_edid_to_speaker_allocation(struct edid *edid, u8 **sadb); | ||
263 | int drm_av_sync_delay(struct drm_connector *connector, | 264 | int drm_av_sync_delay(struct drm_connector *connector, |
264 | struct drm_display_mode *mode); | 265 | struct drm_display_mode *mode); |
265 | struct drm_connector *drm_select_eld(struct drm_encoder *encoder, | 266 | struct drm_connector *drm_select_eld(struct drm_encoder *encoder, |
diff --git a/include/drm/drm_fixed.h b/include/drm/drm_fixed.h index f5e1168c7647..d639049a613d 100644 --- a/include/drm/drm_fixed.h +++ b/include/drm/drm_fixed.h | |||
@@ -84,12 +84,12 @@ static inline int drm_fixp2int(int64_t a) | |||
84 | return ((s64)a) >> DRM_FIXED_POINT; | 84 | return ((s64)a) >> DRM_FIXED_POINT; |
85 | } | 85 | } |
86 | 86 | ||
87 | static inline s64 drm_fixp_msbset(int64_t a) | 87 | static inline unsigned drm_fixp_msbset(int64_t a) |
88 | { | 88 | { |
89 | unsigned shift, sign = (a >> 63) & 1; | 89 | unsigned shift, sign = (a >> 63) & 1; |
90 | 90 | ||
91 | for (shift = 62; shift > 0; --shift) | 91 | for (shift = 62; shift > 0; --shift) |
92 | if ((a >> shift) != sign) | 92 | if (((a >> shift) & 1) != sign) |
93 | return shift; | 93 | return shift; |
94 | 94 | ||
95 | return 0; | 95 | return 0; |
@@ -100,9 +100,9 @@ static inline s64 drm_fixp_mul(s64 a, s64 b) | |||
100 | unsigned shift = drm_fixp_msbset(a) + drm_fixp_msbset(b); | 100 | unsigned shift = drm_fixp_msbset(a) + drm_fixp_msbset(b); |
101 | s64 result; | 101 | s64 result; |
102 | 102 | ||
103 | if (shift > 63) { | 103 | if (shift > 61) { |
104 | shift = shift - 63; | 104 | shift = shift - 61; |
105 | a >>= shift >> 1; | 105 | a >>= (shift >> 1) + (shift & 1); |
106 | b >>= shift >> 1; | 106 | b >>= shift >> 1; |
107 | } else | 107 | } else |
108 | shift = 0; | 108 | shift = 0; |
@@ -120,7 +120,7 @@ static inline s64 drm_fixp_mul(s64 a, s64 b) | |||
120 | 120 | ||
121 | static inline s64 drm_fixp_div(s64 a, s64 b) | 121 | static inline s64 drm_fixp_div(s64 a, s64 b) |
122 | { | 122 | { |
123 | unsigned shift = 63 - drm_fixp_msbset(a); | 123 | unsigned shift = 62 - drm_fixp_msbset(a); |
124 | s64 result; | 124 | s64 result; |
125 | 125 | ||
126 | a <<= shift; | 126 | a <<= shift; |
@@ -154,7 +154,7 @@ static inline s64 drm_fixp_exp(s64 x) | |||
154 | } | 154 | } |
155 | 155 | ||
156 | if (x < 0) | 156 | if (x < 0) |
157 | sum = drm_fixp_div(1, sum); | 157 | sum = drm_fixp_div(DRM_FIXED_ONE, sum); |
158 | 158 | ||
159 | return sum; | 159 | return sum; |
160 | } | 160 | } |
diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h index 0a85e5c5d61b..fd54a14a7c2a 100644 --- a/include/drm/drm_pciids.h +++ b/include/drm/drm_pciids.h | |||
@@ -1,4 +1,22 @@ | |||
1 | #define radeon_PCI_IDS \ | 1 | #define radeon_PCI_IDS \ |
2 | {0x1002, 0x1304, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
3 | {0x1002, 0x1305, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
4 | {0x1002, 0x1306, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
5 | {0x1002, 0x1307, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
6 | {0x1002, 0x1309, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
7 | {0x1002, 0x130A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
8 | {0x1002, 0x130B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
9 | {0x1002, 0x130C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
10 | {0x1002, 0x130D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
11 | {0x1002, 0x130E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
12 | {0x1002, 0x130F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
13 | {0x1002, 0x1310, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
14 | {0x1002, 0x1311, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
15 | {0x1002, 0x1313, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
16 | {0x1002, 0x1315, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
17 | {0x1002, 0x1316, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
18 | {0x1002, 0x131B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
19 | {0x1002, 0x131C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \ | ||
2 | {0x1002, 0x3150, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \ | 20 | {0x1002, 0x3150, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \ |
3 | {0x1002, 0x3151, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 21 | {0x1002, 0x3151, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
4 | {0x1002, 0x3152, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 22 | {0x1002, 0x3152, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |