aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/drm_fb_helper.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-11-15 00:19:54 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-11-15 00:19:54 -0500
commit049ffa8ab33a63b3bff672d1a0ee6a35ad253fe8 (patch)
tree70f4c684818b1c9871fa800088427e40d260592e /drivers/gpu/drm/drm_fb_helper.c
parentc681427e5ca22925fcc1be76a2e260a11e0a8498 (diff)
parent0846c728e20a0cd1e43fb75a3015f3b176a26466 (diff)
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux
Pull drm updates from Dave Airlie: "This is a combo of -next and some -fixes that came in in the intervening time. Highlights: New drivers: ARM Armada driver for Marvell Armada 510 SOCs Intel: Broadwell initial support under a default off switch, Stereo/3D HDMI mode support Valleyview improvements Displayport improvements Haswell fixes initial mipi dsi panel support CRC support for debugging build with CONFIG_FB=n Radeon: enable DPM on a number of GPUs by default secondary GPU powerdown support enable HDMI audio by default Hawaii support Nouveau: dynamic pm code infrastructure reworked, does nothing major yet GK208 modesetting support MSI fixes, on by default again PMPEG improvements pageflipping fixes GMA500: minnowboard SDVO support VMware: misc fixes MSM: prime, plane and rendernodes support Tegra: rearchitected to put the drm driver into the drm subsystem. HDMI and gr2d support for tegra 114 SoC QXL: oops fix, and multi-head fixes DRM core: sysfs lifetime fixes client capability ioctl further cleanups to device midlayer more vblank timestamp fixes" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (789 commits) drm/nouveau: do not map evicted vram buffers in nouveau_bo_vma_add drm/nvc0-/gr: shift wrapping bug in nvc0_grctx_generate_r406800 drm/nouveau/pwr: fix missing mutex unlock in a failure path drm/nv40/therm: fix slowing down fan when pstate undefined drm/nv11-: synchronise flips to vblank, unless async flip requested drm/nvc0-: remove nasty fifo swmthd hack for flip completion method drm/nv10-: we no longer need to create nvsw object on user channels drm/nouveau: always queue flips relative to kernel channel activity drm/nouveau: there is no need to reserve/fence the new fb when flipping drm/nouveau: when bailing out of a pushbuf ioctl, do not remove previous fence drm/nouveau: allow nouveau_fence_ref() to be a noop drm/nvc8/mc: msi rearm is via the nvc0 method drm/ttm: Fix vma page_prot bit manipulation drm/vmwgfx: Fix a couple of compile / sparse warnings and errors drm/vmwgfx: Resource evict fixes drm/edid: compare actual vrefresh for all modes for quirks drm: shmob_drm: Convert to clk_prepare/unprepare drm/nouveau: fix 32-bit build drm/i915/opregion: fix build error on CONFIG_ACPI=n Revert "drm/radeon/audio: don't set speaker allocation on DCE4+" ...
Diffstat (limited to 'drivers/gpu/drm/drm_fb_helper.c')
-rw-r--r--drivers/gpu/drm/drm_fb_helper.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index 3d13ca6e257f..0a19401aff80 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -39,10 +39,6 @@
39#include <drm/drm_fb_helper.h> 39#include <drm/drm_fb_helper.h>
40#include <drm/drm_crtc_helper.h> 40#include <drm/drm_crtc_helper.h>
41 41
42MODULE_AUTHOR("David Airlie, Jesse Barnes");
43MODULE_DESCRIPTION("DRM KMS helper");
44MODULE_LICENSE("GPL and additional rights");
45
46static LIST_HEAD(kernel_fb_helper_list); 42static LIST_HEAD(kernel_fb_helper_list);
47 43
48/** 44/**
@@ -844,7 +840,6 @@ int drm_fb_helper_pan_display(struct fb_var_screeninfo *var,
844 struct drm_fb_helper *fb_helper = info->par; 840 struct drm_fb_helper *fb_helper = info->par;
845 struct drm_device *dev = fb_helper->dev; 841 struct drm_device *dev = fb_helper->dev;
846 struct drm_mode_set *modeset; 842 struct drm_mode_set *modeset;
847 struct drm_crtc *crtc;
848 int ret = 0; 843 int ret = 0;
849 int i; 844 int i;
850 845
@@ -855,8 +850,6 @@ int drm_fb_helper_pan_display(struct fb_var_screeninfo *var,
855 } 850 }
856 851
857 for (i = 0; i < fb_helper->crtc_count; i++) { 852 for (i = 0; i < fb_helper->crtc_count; i++) {
858 crtc = fb_helper->crtc_info[i].mode_set.crtc;
859
860 modeset = &fb_helper->crtc_info[i].mode_set; 853 modeset = &fb_helper->crtc_info[i].mode_set;
861 854
862 modeset->x = var->xoffset; 855 modeset->x = var->xoffset;
@@ -1352,7 +1345,6 @@ static int drm_pick_crtcs(struct drm_fb_helper *fb_helper,
1352 struct drm_connector *connector; 1345 struct drm_connector *connector;
1353 struct drm_connector_helper_funcs *connector_funcs; 1346 struct drm_connector_helper_funcs *connector_funcs;
1354 struct drm_encoder *encoder; 1347 struct drm_encoder *encoder;
1355 struct drm_fb_helper_crtc *best_crtc;
1356 int my_score, best_score, score; 1348 int my_score, best_score, score;
1357 struct drm_fb_helper_crtc **crtcs, *crtc; 1349 struct drm_fb_helper_crtc **crtcs, *crtc;
1358 struct drm_fb_helper_connector *fb_helper_conn; 1350 struct drm_fb_helper_connector *fb_helper_conn;
@@ -1364,7 +1356,6 @@ static int drm_pick_crtcs(struct drm_fb_helper *fb_helper,
1364 connector = fb_helper_conn->connector; 1356 connector = fb_helper_conn->connector;
1365 1357
1366 best_crtcs[n] = NULL; 1358 best_crtcs[n] = NULL;
1367 best_crtc = NULL;
1368 best_score = drm_pick_crtcs(fb_helper, best_crtcs, modes, n+1, width, height); 1359 best_score = drm_pick_crtcs(fb_helper, best_crtcs, modes, n+1, width, height);
1369 if (modes[n] == NULL) 1360 if (modes[n] == NULL)
1370 return best_score; 1361 return best_score;
@@ -1413,7 +1404,6 @@ static int drm_pick_crtcs(struct drm_fb_helper *fb_helper,
1413 score = my_score + drm_pick_crtcs(fb_helper, crtcs, modes, n + 1, 1404 score = my_score + drm_pick_crtcs(fb_helper, crtcs, modes, n + 1,
1414 width, height); 1405 width, height);
1415 if (score > best_score) { 1406 if (score > best_score) {
1416 best_crtc = crtc;
1417 best_score = score; 1407 best_score = score;
1418 memcpy(best_crtcs, crtcs, 1408 memcpy(best_crtcs, crtcs,
1419 dev->mode_config.num_connector * 1409 dev->mode_config.num_connector *
@@ -1580,8 +1570,7 @@ EXPORT_SYMBOL(drm_fb_helper_initial_config);
1580int drm_fb_helper_hotplug_event(struct drm_fb_helper *fb_helper) 1570int drm_fb_helper_hotplug_event(struct drm_fb_helper *fb_helper)
1581{ 1571{
1582 struct drm_device *dev = fb_helper->dev; 1572 struct drm_device *dev = fb_helper->dev;
1583 int count = 0; 1573 u32 max_width, max_height;
1584 u32 max_width, max_height, bpp_sel;
1585 1574
1586 if (!fb_helper->fb) 1575 if (!fb_helper->fb)
1587 return 0; 1576 return 0;
@@ -1596,10 +1585,8 @@ int drm_fb_helper_hotplug_event(struct drm_fb_helper *fb_helper)
1596 1585
1597 max_width = fb_helper->fb->width; 1586 max_width = fb_helper->fb->width;
1598 max_height = fb_helper->fb->height; 1587 max_height = fb_helper->fb->height;
1599 bpp_sel = fb_helper->fb->bits_per_pixel;
1600 1588
1601 count = drm_fb_helper_probe_connector_modes(fb_helper, max_width, 1589 drm_fb_helper_probe_connector_modes(fb_helper, max_width, max_height);
1602 max_height);
1603 mutex_unlock(&fb_helper->dev->mode_config.mutex); 1590 mutex_unlock(&fb_helper->dev->mode_config.mutex);
1604 1591
1605 drm_modeset_lock_all(dev); 1592 drm_modeset_lock_all(dev);