19 Feb, 2014
2 commits
-
Pull request of 2014-02-18
One compile fix and one memory leak.
* tag 'ttm-fixes-3.14-2014-02-18' of git://people.freedesktop.org/~thomash/linux:
drm/ttm: Fix memory leak in ttm_agp_backend.c
drm/ttm: declare 'struct device' in ttm_page_alloc.h -
Some hardware may not support standard 64x64 cursors. Add
a drm cap to query the cursor size from the kernel. Some examples
include radeon CIK parts (128x128 cursors) and armada (32x64 or 64x32).
This allows things like device specific ddxes to remove asics specific
logic and also allows xf86-video-modesetting to work properly with hw
cursors on this hardware. Default to 64 if the driver doesn't specify
a size.Signed-off-by: Alex Deucher
Reviewed-by: Rob Clark
18 Feb, 2014
1 commit
-
Declare 'struct device' explicitly in ttm_page_alloc.h as this file
does not include any file declaring it. This removes the following
warning:warning: 'struct device' declared inside parameter list
Signed-off-by: Alexandre Courbot
Reviewed-by: Thierry Reding
11 Feb, 2014
1 commit
-
Just minor stuff really, on vlv dp fix and two patches to tune down some
opregion sanity check. Plus MAINTAINERS update for the new git repo, which
is the only reason I've really bothered with this pull request.* tag 'drm-intel-fixes-2014-02-06' of ssh://git.freedesktop.org/git/drm-intel:
drm/i915: demote opregion excessive timeout WARN_ONCE to DRM_INFO_ONCE
drm: add DRM_INFO_ONCE() to print a one-time DRM_INFO() message
MAINTAINERS: Update drm/i915 git repo
drm/i915: vlv: fix DP PHY lockup due to invalid PP sequencer setup
05 Feb, 2014
1 commit
-
Just like DRM_INFO(), but only do it once.
Signed-off-by: Jani Nikula
Reviewed-by: Chris Wilson
Acked-by: Dave Airlie
Signed-off-by: Daniel Vetter
29 Jan, 2014
1 commit
-
drm/tegra: Changes for v3.14-rc1 (update)
These patches fix some issues caused by the DRM panel support from the
previous pull request and add two more panels (for the Toshiba AC100 as
well as the Seaboard and Ventana).* tag 'drm/for-3.14-rc1-20140123' of git://anongit.freedesktop.org/tegra/linux:
drm/tegra: Obtain head number from DT
drm/panel: update EDID BLOB in panel_simple_get_modes()
gpu: host1x: Remove unnecessary include
drm/tegra: Use proper data type
drm/tegra: Clarify how panel modes override others
drm/tegra: Fix possible CRTC mask for RGB outputs
drm/i915: Use drm_encoder_crtc_ok()
drm: Move drm_encoder_crtc_ok() to core
drm: provide a helper for the encoder possible_crtcs mask
drm/tegra: Don't check resource with devm_ioremap_resource()
drm/panel: Add support for Chunghwa CLAA101WA01A panel
drm/panel: Add support for Samsung LTN101NT05 panel
22 Jan, 2014
1 commit
-
Here's the vblank timestamp pull request you wanted.
I addressed the few bugs that Mario pointed out and added
the r-bs.As it has been a while since I made the changes, I gave it a
quick spin on a few different i915 machines. Fortunately
everything still seems to be fine.* 'drm-vbl-timestamp' of git://gitorious.org/vsyrjala/linux:
drm/i915: Add a kludge for DSL incrementing too late and ISR not working
drm/radeon: Move the early vblank IRQ fixup to radeon_get_crtc_scanoutpos()
drm: Pass 'flags' from the caller to .get_scanout_position()
drm: Fix vblank timestamping constants for interlaced modes
drm/i915: Fix scanoutpos calculations for interlaced modes
drm: Change {pixel,line,frame}dur_ns from s64 to int
drm: Use crtc_clock in drm_calc_timestamping_constants()
drm/radeon: Populate crtc_clock in radeon_atom_get_tv_timings()
drm: Simplify the math in drm_calc_timestamping_constants()
drm: Improve drm_calc_timestamping_constants() documentation
drm/i915: Call drm_calc_timestamping_constants() earlier
drm/i915: Kill hwmode save/restore
drm: Pass the display mode to drm_calc_vbltimestamp_from_scanoutpos()
drm: Pass the display mode to drm_calc_timestamping_constants()
21 Jan, 2014
2 commits
-
Adding picture aspect ratio for CEA modes based on CEA-861D Table 3 or
CEA-861E Table 4. This is useful for filling up the detail in AVI
infoframe.v2: Ville's review comments incorporated
Added picture aspect ratio as part of edid_cea_modes instead of DRM_MODESigned-off-by: Vandana Kannan
Reviewed-by: Ville Syrjälä
Signed-off-by: Daniel Vetter -
To make it clear what exactly mode_valid() should return.
Signed-off-by: Damien Lespiau
Signed-off-by: Daniel Vetter
20 Jan, 2014
5 commits
-
Preparation for moving the early vblank IRQ logic into
radeon_get_crtc_scanoutpos().v2: Fix radeon_drv.c compile warning (Mario)
Reviewed-by: mario.kleiner.de@gmail.com
Signed-off-by: Ville Syrjälä -
Using s64 for the timestamping constants is wasteful. Signed 32bit
integers get us a range of over +-2 seconds. Presuming that no-one
wants to a vrefresh rate less than 0.5, we can switch to using int
for the timestamping constants. We save a few bytes in drm_crtc and
avoid a bunch of 64bit math.Reviewed-by: mario.kleiner.de@gmail.com
Signed-off-by: Ville Syrjälä -
Rather than using crtc->hwmode, just pass the relevant mode to
drm_calc_vbltimestamp_from_scanoutpos(). This removes the last hwmode
usage from core drm.Reviewed-by: mario.kleiner.de@gmail.com
Signed-off-by: Ville Syrjälä -
We don't really use hwmode anymore in i915, so eliminating its use
from the core code seems prudent. Just pass the appropriate mode
to drm_calc_timestamping_constants().Reviewed-by: mario.kleiner.de@gmail.com
Signed-off-by: Ville Syrjälä -
drm-intel-next-2014-01-10:
- final bits for runtime D3 on Haswell from Paul (now enabled fully)
- parse the backlight modulation freq information in the VBT from Jani
(but not yet used)
- more watermark improvements from Ville for ilk-ivb and bdw
- bugfixes for fastboot from Jesse
- watermark fix for i830M (but not yet everything)
- vlv vga hotplug w/a (Imre)
- piles of other small improvements, cleanups and fixes all overNote that the pull request includes a backmerge of the last drm-fixes
pulled into Linus' tree - things where getting a bit too messy. So the
shortlog also contains a bunch of patches from Linus tree. Please yell if
you want me to frob it for you a bit.* 'drm-intel-next' of git://people.freedesktop.org/~danvet/drm-intel: (609 commits)
drm/i915/bdw: make sure south port interrupts are enabled properly v2
drm/i915: Include more information in disabled hotplug interrupt warning
drm/i915: Only complain about a rogue hotplug IRQ after disabling
drm/i915: Only WARN about a stuck hotplug irq ONCE
drm/i915: s/hotplugt_status_gen4/hotplug_status_g4x/
14 Jan, 2014
4 commits
-
Using the new drm_crtc_mask() function, drm_encoder_crtc_ok() can now be
written in a significantly shorter way, so it can be moved to a header
file and be made static inline.Signed-off-by: Thierry Reding
-
The encoder possible_crtcs mask identifies which CRTCs can be bound to
a particular encoder. Each bit from bit 0 defines an index in the list
of CRTCs held in the DRM mode_config crtc_list. Rather than having
drivers trying to track the position of their CRTCs in the list, expose
the code which already exists for calculating the appropriate mask bit
for a CRTC.Signed-off-by: Russell King
Reviewed-by: David Herrmann
Reviewed-by: Jani Nikula
[treding@nvidia.com: add drm_crtc_index(), move to core]
Signed-off-by: Thierry Reding -
This was hidden in a generic void * dev->mm_private. But only ever
used for gem. But thanks to this fake generic pretension no one
noticed that Rob's drm drivers are now all broken.So just give the offset manager a type pointer and fix up msm, omapdrm
and tilcdc.v2: Fixup compile fail.
v3: Fixup rebase fail that David spotted.
Cc: David Herrmann
Cc: Rob Clark
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
Anyway, nothing big here, Three more code cleanup patches from Rashika
Kheria, and one TTM/vmwgfx patch from me that tightens security around TTM
objects enough for them to opened using prime objects from render nodes:Previously any client could access a shared buffer using the "name", also
without actually opening it. Now a reference is required, and for render nodes
such a reference is intended to only be obtainable using a prime fd.vmwgfx-next 2014-01-13 pull request
* tag 'vmwgfx-next-2014-01-13' of git://people.freedesktop.org/~thomash/linux:
drivers: gpu: Mark functions as static in vmwgfx_fence.c
drivers: gpu: Mark functions as static in vmwgfx_buffer.c
drivers: gpu: Mark functions as static in vmwgfx_kms.c
drm/ttm: ttm object security fixes for render nodes
08 Jan, 2014
2 commits
-
When a client looks up a ttm object, don't look it up through the device hash
table, but rather from the file hash table. That makes sure that the client
has indeed put a reference on the object, or in gem terms, has opened
the object; either using prime or using the global "name".To avoid a performance loss, make sure the file hash table entries can be
looked up from under an RCU lock, and as a consequence, replace the rwlock
with a spinlock, since we never need to take it in read mode only anymore.Finally add a ttm object lookup function for the device hash table, that is
intended to be used when we put a ref object on a base object or, in gem terms,
when we open the object.Signed-off-by: Thomas Hellstrom
Reviewed-by: Brian Paul -
Needed for some vm operations; most notably unmap_mapping_range() with
even_cows = 0.Signed-off-by: Thomas Hellstrom
Reviewed-by: Brian Paul
23 Dec, 2013
2 commits
-
Fixes rendering corruption due to incorrect
gfx configuration.bug:
https://bugs.freedesktop.org/show_bug.cgi?id=63599Signed-off-by: Alex Deucher
Cc: stable@vger.kernel.org -
drm/tegra: Changes for v3.14-rc1
This series of changes brings DRM panel support as well as initial code
to register DSI hosts and peripherals and bind them to DSI drivers. The
panel and DSI code are both used by the simple panel driver.The Tegra-specific changes build on top of this work to add support for
various panels found on Tegra boards. New drivers enable the DSI host
found on Tegra114 and a special hardware block that calibrates the pads
used for DSI and CSI. The host1x and the display controller drivers gain
basic Tegra124 support. To round of the new features, the DRM driver now
sports a very simple PRIME implementation.In addition there are various improvements such as the host1x API being
exported so that client drivers (like the Tegra DRM driver) can be built
as modules. HDMI now does better power management and legacy FBDEV can
now be disabled via Kconfig (though it's still enabled by default). A
few sparse warnings have been squashed and various parts of the code
have become more robust.* tag 'drm/for-3.14-rc1' of git://anongit.freedesktop.org/tegra/linux: (121 commits)
drm/tegra: fix compile w/ CONFIG_DYNAMIC_DEBUG
drm/tegra: Add PRIME support
drm/tegra: Relocate some output-specific code
drm/tegra: Add Tegra124 DC support
drm/tegra: Fix small leak on error in tegra_fb_alloc()
drm/tegra: Make legacy fbdev support optional
drm/tegra: Sort reverse-dependencies alphabetically
drm/tegra: Fix return value check
drm/tegra: Add DSI support
drm/tegra: Disable outputs for power-saving
drm/tegra: Track HDMI enable state
drm/tegra: Fix HDMI audio frequency typo
drm/tegra: Do not export tegra_bo_ops
drm/tegra: Remove spurious blank line
drm/tegra: Increase compile test coverage
drm/tegra: Allow the driver to be built as a module
gpu: host1x: Add Tegra124 support
gpu: host1x: clk_round_rate() can return a zero upon error
gpu: host1x: Fix build warnings
gpu: host1x: Increase compile test coverage
...
18 Dec, 2013
18 commits
-
- DP_TEST_LINK_PATTERN is ambiguous, rename to DP_TEST_LINK_VIDEO_PATTERN to clarify
- Added DP_TEST_LINK_FAUX_PATTERN to support automated testing of Fast AUXSigned-off-by: Todd Previte
Reviewed-by: Jani Nikula
Signed-off-by: Dave Airlie -
This is just used for a debugfs file, and we can easily reconstruct
this number by just walking the list twice. Which isn't really bad for
a debugfs file anyway.So let's rip this out.
There's the other issue that the dev->vmalist itself is a bit useless,
since that can be reconstructed with all the memory mapping
information from proc. But remove that is a different topic entirely.Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
It's racy, and it's only used in debugfs. There are simpler ways to
know whether something is going on (like looking at dmesg with full
debugging enabled). And they're all much more useful.So let's just rip this out.
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
Now dev->ioctl_count tries to prevent the device from disappearing if
it's still in use. And if we'd actually need this code it would be
hopelessly racy and broken.But luckily the vfs already takes care of this. So we can just rip it
out.Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
Checking directly for the right capability is simpler. Also this rids
us of a few places that use DRM_CURRENTPID.Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
The real linux interfaces are soooo much easier on the eyes ...
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
Less yelling ftw!
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
Less yelling ftw!
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
I've killed them a long time ago in drm/i915, let's get rid of this
remnant of shared drm core days for good.Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
We don't have any userspace interfaces that use HZ as a time unit, so
having our own DRM define is useless.Remove this remnant from the shared drm core days.
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
The header provides dummy functions and
fallbacks, so no need for screaming macros.Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
Call drm_pci_agp_destroy directly, there's no point in the
indirection. Long term we want to shuffle this into each driver's
unload logic, but that needs cleared-up drm lifetime rules first.v2: Add a dummy function for !CONFIG_PCI, spotted my David Herrmann.
v3: Fixup for the coding style police.
Reviewed-by: David Herrmann
Cc: David Herrmann
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
Wrapping a kfree is pointless.
v2: Add a comment to the kerneldoc for drm_agp_init to explain where
the kfree happens as requested by David. Note that for modeset drivers
agp cleanup is fairly complicated anyway: The drm_agp_clear is a noop
and drivers must call drm_agp_release on their own. Which they all
seem to do properly.Cc: David Herrmann
Reviewed-by: David Herrmann
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
The PCI bus helper is the only user of it. Call it directly before
device-registration to get rid of the callback.Note that all drm_agp_*() calls are locked with the drm-global-mutex so we
need to explicitly lock it during initialization. It's not really clear
why it's needed, but lets be safe.v2: Rebase on top of the agp_init interface change.
v3: Remove the rebase-fail where I've accidentally killed the ->irq_by_busid
callback a bit too early.Cc: David Herrmann
Signed-off-by: David Herrmann (v1)
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
Most place actually want to just check for dev->agp (most do, but a
few don't so this fixes a few potential NULL derefs). The only
exception is the agp init code which should check for the AGP driver
feature flag.Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
Thanks to the removal of REQUIRE_AGP we can use a void return value
and shed a bit of complexity.Reviewed-by: David Herrmann
Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
Only the two intel drivers need this and they can easily check for
working agp support in their driver ->load callbacks.This is the only reason why agp initialization could fail, so allows
us to rip out a bit of error handling code in the next patch.Signed-off-by: Daniel Vetter
Signed-off-by: Dave Airlie -
The current values seem to be defined in a format that's specific to the
i915, gma500 and radeon drivers. To make this more generally useful, use
the values as defined in the specification.While at it, prefix the constants with DP_ for improved namespacing.
Signed-off-by: Thierry Reding
Reviewed-by: Daniel Vetter
Reviewed-by: Alex Deucher
Signed-off-by: Dave Airlie