diff options
| author | Dave Airlie <airlied@redhat.com> | 2017-01-31 17:30:19 -0500 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2017-01-31 17:30:19 -0500 |
| commit | bb7e98334157de206d7b1283377fdb4ea9e2e8c6 (patch) | |
| tree | db540dd308630419671e48d75e380061c6fa16fb /drivers/gpu | |
| parent | 3a5e6bb9c660173cf6a1a3f29b0501553cd4db2f (diff) | |
| parent | db02b7614a54bf0bf548db07bc8d3e7518fd9481 (diff) | |
Merge tag 'drm/atmel-hlcdc/for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bbrezillon/linux into drm-next
Contains a single patch to create the fbdev at driver's registration
time instead of waiting for the connector status change.
* tag 'drm/atmel-hlcdc/for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bbrezillon/linux:
drm/atmel-hlcdc: Rework the fbdev creation logic
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c index cbd0070265c9..0bf32d6ac39b 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | |||
| @@ -431,15 +431,8 @@ static void atmel_hlcdc_fb_output_poll_changed(struct drm_device *dev) | |||
| 431 | { | 431 | { |
| 432 | struct atmel_hlcdc_dc *dc = dev->dev_private; | 432 | struct atmel_hlcdc_dc *dc = dev->dev_private; |
| 433 | 433 | ||
| 434 | if (dc->fbdev) { | 434 | if (dc->fbdev) |
| 435 | drm_fbdev_cma_hotplug_event(dc->fbdev); | 435 | drm_fbdev_cma_hotplug_event(dc->fbdev); |
| 436 | } else { | ||
| 437 | dc->fbdev = drm_fbdev_cma_init(dev, 24, | ||
| 438 | dev->mode_config.num_crtc, | ||
| 439 | dev->mode_config.num_connector); | ||
| 440 | if (IS_ERR(dc->fbdev)) | ||
| 441 | dc->fbdev = NULL; | ||
| 442 | } | ||
| 443 | } | 436 | } |
| 444 | 437 | ||
| 445 | struct atmel_hlcdc_dc_commit { | 438 | struct atmel_hlcdc_dc_commit { |
| @@ -653,10 +646,13 @@ static int atmel_hlcdc_dc_load(struct drm_device *dev) | |||
| 653 | 646 | ||
| 654 | platform_set_drvdata(pdev, dev); | 647 | platform_set_drvdata(pdev, dev); |
| 655 | 648 | ||
| 656 | drm_kms_helper_poll_init(dev); | 649 | dc->fbdev = drm_fbdev_cma_init(dev, 24, |
| 650 | dev->mode_config.num_crtc, | ||
| 651 | dev->mode_config.num_connector); | ||
| 652 | if (IS_ERR(dc->fbdev)) | ||
| 653 | dc->fbdev = NULL; | ||
| 657 | 654 | ||
| 658 | /* force connectors detection */ | 655 | drm_kms_helper_poll_init(dev); |
| 659 | drm_helper_hpd_irq_event(dev); | ||
| 660 | 656 | ||
| 661 | return 0; | 657 | return 0; |
| 662 | 658 | ||
