From: Paulo Zanoni <paulo.r.zanoni(a)intel.com>
Hi
These patches allow us to run the "module_reload" script from intel-gpu-tools on
Haswell. The script basically just removes i915.ko and loads it again.
There's a memory corruption fix and also the fix for fd.o #67813. Notice that
the first patch fixes the case where we boot eDP+something, while patches 3-5
fix the case where we boot eDP-only.
I couldn't find MAINTAINERS entries for vt.c or fbcon.c, but I heard the
dri-devel list is a …
[View More]good place for such patches. Please tell me if I missed some
mailing list.
Cheers,
Paulo
Paulo Zanoni (5):
drm/i915: redisable VGA when we disable the power well
drm/i915: destroy connector sysfs files earlier
tty/vt: add con_bind and con_unbind functions
console/fbcon: implement con_bind and con_unbind
drm/i915: put/get the power well at the FB bind/unbind functions
drivers/gpu/drm/i915/intel_crt.c | 1 -
drivers/gpu/drm/i915/intel_display.c | 7 ++++++-
drivers/gpu/drm/i915/intel_dp.c | 1 -
drivers/gpu/drm/i915/intel_drv.h | 2 ++
drivers/gpu/drm/i915/intel_dsi.c | 1 -
drivers/gpu/drm/i915/intel_dvo.c | 1 -
drivers/gpu/drm/i915/intel_fb.c | 23 +++++++++++++++++++++++
drivers/gpu/drm/i915/intel_hdmi.c | 1 -
drivers/gpu/drm/i915/intel_lvds.c | 1 -
drivers/gpu/drm/i915/intel_pm.c | 6 ++++++
drivers/gpu/drm/i915/intel_sdvo.c | 7 +++++--
drivers/gpu/drm/i915/intel_tv.c | 1 -
drivers/tty/vt/vt.c | 6 ++++++
drivers/video/console/fbcon.c | 26 ++++++++++++++++++++++++++
include/linux/console.h | 2 ++
include/linux/fb.h | 4 ++++
16 files changed, 80 insertions(+), 10 deletions(-)
--
1.8.3.1
[View Less]
Hi
This cleans up the bus drivers in DRM. Instead of copying the device alloc/free
semantics into each bus driver (drm_{pci,platform,usb}.c) we now have a central
place in drm_stub.c.
This introduces drm_dev_{alloc,free,register,unregister}(). They have the same
semantics as most other kernel subsystems. *_alloc() allocates a new device and
populates the static fields and sub-objects. *_free() frees an unregistered
object allocated via *_alloc(). *_register() registers a DRM device and
*…
[View More]_unregister() obviously unregisters a DRM device. A *_free() is still needed
after calling *_unregister() (same as for "struct device"). No ref-counting is
added as it is not required by any driver.
Note that the bus drivers are modified to use the new helpers directly. However,
I didn't modify the drivers to use *_unregister() and *_free() directly.
Instead, the drm_put_dev() helper was modified to use these. Reason for that is
that I have pending patches to make device hotplugging safer regarding mmaps.
But these aren't ready, yet. Hopefully I can get them ready for rc5 or rc6.
Tested on nouveau.
David
David Herrmann (5):
drm: add drm_dev_alloc() helper
drm: merge device setup into drm_dev_register()
drm: move drm_lastclose() to drm_fops.c
drm: introduce drm_dev_free() to fix error paths
drm: move device unregistration into drm_dev_unregister()
drivers/gpu/drm/drm_drv.c | 70 ----------
drivers/gpu/drm/drm_fops.c | 70 ++++++++++
drivers/gpu/drm/drm_pci.c | 62 ++-------
drivers/gpu/drm/drm_platform.c | 59 +-------
drivers/gpu/drm/drm_stub.c | 310 ++++++++++++++++++++++++++++-------------
drivers/gpu/drm/drm_usb.c | 57 +-------
include/drm/drmP.h | 8 +-
7 files changed, 308 insertions(+), 328 deletions(-)
--
1.8.4
[View Less]
This series adds runtime pm support for host1x, gr2d and dc. It retains the
current behaviour if CONFIG_PM_RUNTIME is not enabled.
The gr2d clock is enabled when a new job is submitted and disabled when
the work is done. Due to parent->child relations between host1x->gr2d, this
scheme enables and disables host1x clock.
For dc, the clocks are enabled in .probe and disabled in .remove via runtime
pm instead of direct clock APIs.
Mayuresh is unfortunately not available to continue with …
[View More]the series and hence
I will continue working on the patches.
Changes in v4:
- Fixed initialisation clean up in host1x and gr2d drivers
- Runtime pm support removal follows now the same convention as other Tegra
drivers
- Code shuffling to prevent unnecessary function prototypes
- Removed unnecessary NULL pointer checks.
- Rebased on top of 3.12-rc4
Changes in v3:
- Rebased patches on top of 3.12-rc2
- Removed unnecessary #ifdefs
- Added descriptions to commit messages
- If runtime pm is disabled, the code calls suspend/resume functions
for enabling/disabling the clocks instead of repeating the functions
Arto Merilainen (1):
drm/tegra: Fix gr2d initialisation clean up
Mayuresh Kulkarni (4):
gpu: host1x: shuffle job APIs
drm/tegra: Add runtime pm support for gr2d
drm/tegra: Add runtime pm support for dc
gpu: host1x: Add runtime pm support for host1x
drivers/gpu/host1x/cdma.c | 2 ++
drivers/gpu/host1x/channel.c | 8 -----
drivers/gpu/host1x/channel.h | 1 -
drivers/gpu/host1x/dev.c | 56 +++++++++++++++++++++++++++++-----
drivers/gpu/host1x/drm/dc.c | 59 ++++++++++++++++++++++++++++++-----
drivers/gpu/host1x/drm/gr2d.c | 71 ++++++++++++++++++++++++++++++++++++-------
drivers/gpu/host1x/job.c | 13 ++++++++
drivers/gpu/host1x/job.h | 3 ++
8 files changed, 177 insertions(+), 36 deletions(-)
--
1.8.1.5
[View Less]
In the autumn and winter it's considered bad form to set power state to D3cold, it might
cause the device to freeze to death. This is also the case in the other seasons, so any
device in the southern hemisphere is affected too.
D3cold is not a valid state in a call to pci_set_power_state, only up to D3hot is allowed.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst(a)canonical.com>
---
diff --git a/drivers/gpu/drm/nouveau/nouveau_drm.c b/drivers/gpu/drm/nouveau/nouveau_drm.c
index …
[View More]89efeff..566e544 100644
--- a/drivers/gpu/drm/nouveau/nouveau_drm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_drm.c
@@ -945,7 +945,7 @@ static int nouveau_pmops_runtime_suspend(struct device *dev)
ret = nouveau_do_suspend(drm_dev);
pci_save_state(pdev);
pci_disable_device(pdev);
- pci_set_power_state(pdev, PCI_D3cold);
+ pci_set_power_state(pdev, PCI_D3hot);
drm_dev->switch_power_state = DRM_SWITCH_POWER_DYNAMIC_OFF;
return ret;
}
[View Less]