From: Ville Syrj?l?
Make sure we don't access beyond the extension block when parsing CEA
detailed timing descriptors.
Signed-off-by: Ville Syrj?l?
Reviewed-by: Alex Deucher
---
drivers/gpu/drm/drm_edid.c |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/d
From: Ville Syrj?l?
There are two slightly different pieces of code for HDMI VSDB
detection. Unify the code into a single helper function.
Also fix a bug where drm_detect_hdmi_monitor() would stop looking
for the HDMI VSDB after the first vendor specific block is found,
whether or not that block
I found these EDID/CEA patches sitting in a branch in my tree. I worked on
them at some point, but forgot about them when something more urgent
came up.
They haven't been tested all that well, mainly because currently there
is no way to test this code, apart from trying on real hardware. If
someon
From: Ville Syrj?l?
Make sure drm_detect_hdmi_monitor() and drm_detect_monitor_audio() don't
access beyond the extension block.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_edid.c | 99 ---
1 files changed, 73 insertions(+), 26 deletions(-)
di
From: Ville Syrj?l?
The length of HDMI VSDB must be at least 5 bytes. Other than the minimum,
nothing else about the length is specified. Check the length before
accessing any additional field beyond the minimum length.
---
drivers/gpu/drm/drm_edid.c | 33 +
1 f
Another month, another massive atomic patchset.
I managed to clean up warts left over from the modeset-rework rebase,
but other than that I haven't really found the time to touch this too
much since the last time I posted patches from this set.
Seeing as my schedule isn't getting any less busy in
From: Ville Syrj?l?
struct drm_region represents a two dimensional region. The utility
functions are there to help driver writers.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 155
include/drm/drm_crtc.h | 24 +++
2 files
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 102
include/drm/drm_crtc.h |4 ++
2 files changed, 106 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
ind
From: Ville Syrj?l?
If the update_plane() operation succeeds, make a copy of the requested
src and crtc coordinates, so that the the plane may be reclipped if the
display mode changed later.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c |8
include/drm/drm_crtc.h
From: Ville Syrj?l?
Add an optional driver specific restore_fbdev_mode() hook to
drm_fb_helper. If the driver doesn't provide the hook,
drm_fb_helper_restore_fbdev_mode() is called directly as before.
In this hook the driver can disable additional planes, cursors etc.
that shouldn't be visible w
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c |8 +---
include/drm/drm_crtc.h |4
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 3164131..38b8ce3 100644
--- a/dri
From: Ville Syrj?l?
Treat a range property as signed when the unsigned minimum value is
larger than the unsigned maximum value.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 17 ++---
1 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/
From: Ville Syrj?l?
To avoid having to pass object types from userspace for atomic mode
setting ioctl, allow drm_mode_object_find() to look up an object of any
type. This will only work as long as the all object types share the ID
space.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crt
From: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc_helper.c |5 +++--
include/drm/drm_crtc_helper.h |3 +++
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc_helper.c
b/drivers/gpu/drm/drm_crtc_helper.c
index 7b2d378..0d62c94 100644
--- a/drivers/
From: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc_helper.c |3 ++-
include/drm/drm_crtc_helper.h |1 +
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc_helper.c
b/drivers/gpu/drm/drm_crtc_helper.c
index 0d62c94..30eb557 100644
--- a/drivers/gpu/
From: Ville Syrj?l?
Refactor the code to check whether an object has a specific property
to a new function.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 20 ++--
1 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/driv
From: Ville Syrj?l?
Export drm_crtc_convert_to_umode() and drm_crtc_convert_umode().
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 10 ++
include/drm/drm_crtc.h |4
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c
From: Ville Syrj?l?
When first allocated blobs can be given a maximum size for which memory
is allocated. Later the data inside the blob can be replaced, assuming
that the maximum size is not exceeded.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 45 +
From: Ville Syrj?l?
The drm_flip mechanism can be used to implement robust page flipping
support, and also to synchronize the flips on multiple hardware
scanout engines (eg. CRTCs and overlays).
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/Makefile |2 +-
drivers/gpu/drm/drm_flip.c |
From: Ville Syrj?l?
This new ioctl can be used to update an arbitrary set of object
properties in one operation.
The ioctl simply takes a list of object IDs and property IDs and their
values. For setting values of blob properties, the property value
indicates the length of the data, and the actu
From: Ville Syrj?l?
These will be ued by standard properties MODE and CONNECTOR_IDS.
Signed-off-by: Ville Syrj?l?
---
include/drm/drm_crtc.h |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 5b8b1b7..d05d302 100644
From: Ville Syrj?l?
bits_per_pixel may not be populated for all pixel formats, so
let's just use drm_format_plane_cpp().
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c | 12 ++--
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i91
From: Ville Syrj?l?
Properly clip the source when the destination gets clipped
by the pipe dimensions.
Sadly the video sprite hardware is rather limited so it can't do proper
sub-pixel postitioning. Resort to a best effort approach, where the
source coordinates are rounded to the nearest (macro)
From: Ville Syrj?l?
Convert intel_fb_restore_mode to be useable as the
drm_fb_helper.restore_fbdev_mode hook. This will cause all planes to be
disabled when swithing back to fbcon.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/i915_dma.c |2 +-
drivers/gpu/drm/i915/intel_drv.h |
From: Ville Syrj?l?
Split the update_plane() codepath into two separate steps. The first
step checkis and clips the plane, and the second step actually commits
the changes to the hardware. This allows the atomic modesetting code
to perform all checks before clobering hardware state.
The update_p
From: Ville Syrj?l?
Split the clock stuff out.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c | 128 --
1 files changed, 75 insertions(+), 53 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_di
From: Ville Syrj?l?
i9xx_adjust_sdvo_tv_clock(), i9xx_compute_clocks() and
ironlake_compute_clocks() do not modify the adjusted_mode passed in, so
pass it as const.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c |6 +++---
1 files changed, 3 insertions(+), 3 deletion
From: Ander Conselvan de Oliveira
This way it is possible to check if the cursor changed without doing
any setup. Will be useful for the atomic modesetting api.
---
drivers/gpu/drm/i915/intel_display.c |1 +
drivers/gpu/drm/i915/intel_drv.h |2 +-
2 files changed, 2 insertions(+), 1
From: Ander Conselvan de Oliveira
The atomic mode setting API will need to pin the cursor bo without
making changes to the current setup. Only on a later stage the cursor
registers can be written and the previous bo released.
This patch splits intel_crtc_cursor_set() into three parts: prepare,
c
From: Ander Conselvan de Oliveira
---
drivers/gpu/drm/i915/intel_display.c | 24
drivers/gpu/drm/i915/intel_drv.h | 13 +
2 files changed, 25 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/int
From: Ville Syrj?l?
intel_finish_fb() will be used by the atomic modeset code, so make it
non-static.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c |2 +-
drivers/gpu/drm/i915/intel_drv.h |1 +
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/d
From: Ville Syrj?l?
intel_check_clock() can be used to check clock validity w/o modifying
hardware state.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/i915_drv.h |2 ++
drivers/gpu/drm/i915/intel_display.c | 34 ++
2 files changed, 36 inserti
From: Ville Syrj?l?
Make intel_crtc_update_sarea_pos() available to the atomic mode setting code.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c |2 +-
drivers/gpu/drm/i915/intel_drv.h |1 +
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drive
From: Ville Syrj?l?
Make intel_crtc_update_sarea() available for the atomic mode setting
code.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c |4 ++--
drivers/gpu/drm/i915/intel_drv.h |2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/drive
From: Ville Syrj?l?
intel_modeset_adjusted_mode() doesn't modify the passed display mode. So
pass it as const.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c
b
From: Ville Syrj?l?
Make intel_crtc_mode_fixup() available for the upcoming atomic
modesetting code.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c |6 +++---
drivers/gpu/drm/i915/intel_drv.h |4
2 files changed, 7 insertions(+), 3 deletions(-)
diff --g
From: Ville Syrj?l?
intel_plane_regs can be used to shadow all the typical plane registers.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_drv.h | 14 ++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/dr
From: Ville Syrj?l?
intel_pipe_set_base() (un)pins the buffers, so it can't be called from
the atomic modeset paths. Pull the intel_pipe_set_base() and watermark
modifications out of i9xx_crtc_mode_set() and ironlake_crtc_mode_set()
into intel_crtc_mode_set(), so that the former two can be used f
From: Ville Syrj?l?
Separate the part that calculates the register values from the part that
writes the registers. This will be useful in the atomic page flip code.
Also move the watermark magic into a prepare function that can be
performed outside the critical parts of the atomic page flip code.
From: Ville Syrj?l?
Implement the mandatory hooks for the atomic modeset ioctl.
The code first makes a backup of the current state, then proceeds to
modify the state as properties are modified. After all the properties
have been handled the new state is checked, and if everything checks
out, the
From: Ville Syrj?l?
Send completion events when the atomic modesetting operations has
finished succesfully.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 195 ++-
1 files changed, 192 insertions(+), 3 deletions(-)
diff --git a/drivers/
From: Ville Syrj?l?
Add support for the DRM_MODE_ATOMIC_NONBLOCK flag.
The drm_flip helper provides the necessary logic to track the
progress of the flips. drm_flip is driven by a few extra calls
from the interrupt handling and crtc_disable code paths.
Since the hardware doesn't provide inter-p
From: Ville Syrj?l?
intel_enable_primary() and intel_disable_primary() are needed in the
atomic mode setting code.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_drv.h|3 +++
drivers/gpu/drm/i915/intel_sprite.c |4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
From: Ville Syrj?l?
Separate the part that calculates the register values from the part that
writes the registers. This will be useful in the atomic page flip code.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/i915_drv.h |3 +
drivers/gpu/drm/i915/intel_display.c | 154 +
From: Ville Syrj?l?
Check primary_disabled state before enabling the primary plane in
crtc_enable() hooks.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c |9 ++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c
From: Ville Syrj?l?
Check the active and primary_disabled flags and set the
DISPLAY_PLANE_ENABLE bit accordingly in calc_plane() hook for the
primary plane.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c | 10 ++
1 files changed, 10 insertions(+), 0 deletions(-
From: Ville Syrj?l?
Enable/disable the primary plane accordingly when the sprite plane
coverage changes.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 41 +++
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/
From: Ander Conselvan de Oliveira
---
drivers/gpu/drm/drm_flip.c | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/drm_flip.c b/drivers/gpu/drm/drm_flip.c
index 6ccc3f8..a20e6a4 100644
--- a/drivers/gpu/drm/drm_flip.c
+++ b/drivers/gpu/drm/drm_fl
From: Ville Syrj?l?
Standard connector properties are kept in the mode_config structure.
Move the CRTC and plane properties there as well.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 293 +++
include/drm/drm_crtc.h | 19
From: Ville Syrj?l?
Update cursor related CRTC properties after a modeset. The cursor
properties aren't handled by the drm core since not all CRTCs have
cursors.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c | 15 +++
1 files changed, 15 insertions(+), 0 d
From: Ville Syrj?l?
Don't leave stale flips hanging around the sprites' flip helpers
when the crtc is being disabled.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 15 +++
drivers/gpu/drm/i915/intel_display.c |4 ++--
drivers/gpu/drm/i915/intel_drv.h
From: Ville Syrj?l?
The atomic code needs intel_modeset_update_staged_output_state().
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c |2 +-
drivers/gpu/drm/i915/intel_drv.h |2 ++
2 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/
From: Ville Syrj?l?
The i915 modeset logic requires that these be kept in sync with
the other crtc and encoder pointers.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_ato
From: Ville Syrj?l?
Move the property code around a bit to make it easier to move it out to
the drm core later.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 423 ---
drivers/gpu/drm/i915/intel_drv.h|3 +
include/drm/drm_crtc.h
From: Ville Syrj?l?
Keep the new plane properties when doing operations through the legacy
code paths.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc
From: Ville Syrj?l?
The pending_flip counter is probably going to be remove entirely,
along with i915_gem_execbuffer_wait_for_flips() so don't even try to
use it.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 74 +--
1 files changed, 2
From: Ville Syrj?l?
Move some of the property code to drm_crtc.c since it should be shared
by everyone.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 235 +++
drivers/gpu/drm/i915/intel_atomic.c | 256 --
From: Ville Syrj?l?
Keep the new CRTC properties when doing modeset through the legacy code
paths.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc_helper.c | 10 ++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc_helper.c
b/drivers/
From: Ville Syrj?l?
All connectors use intel_best_encoder() as their best_encoder() func, so
just call it directly w/o the indirection.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 10 ++
1 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers
From: Ville Syrj?l?
Update the connector DPMS state after atomic modeset operations.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 31 +++
1 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_atomic.c
From: Ville Syrj?l?
Avoids a NULL pointer dereference if the atomic modeset fails.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c |3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_atomic.c
b/drivers/gpu/drm/i915/intel_a
From: Ander Conselvan de Oliveira
intel_crtc->cursor_visible is only changed on the commit phase, so the
check for visibility was considering the previous state. Change this to
intel_crtc->cursor_handle instead.
---
drivers/gpu/drm/i915/intel_atomic.c |2 +-
1 files changed, 1 insertions(+),
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_atomic.c
b/drivers/gpu/drm/i915/intel_atomic.c
index c4cec40..bfc0563 100644
--- a/drivers/gpu/drm/i
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c |8 +---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_atomic.c
b/drivers/gpu/drm/i915/intel_atomic.c
index bfc0563..a119896 100644
--- a/drivers/gpu/drm
From: Ville Syrj?l?
Don't unpin the old fb after flips, unless a new fb was pinned, or we're
disabling the plane/crtc.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c |8 ++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel
From: Ville Syrj?l?
These function no longer exist.
---
drivers/gpu/drm/i915/intel_atomic.c |7 ---
1 files changed, 0 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_atomic.c
b/drivers/gpu/drm/i915/intel_atomic.c
index b795cb2..7a7695b 100644
--- a/drivers/gpu/dr
From: Ville Syrj?l?
We have more than one sprite, so a boolean simply won't cut it.
Turn sprite_scaling_enabled into a bitmask and track the state
of sprite scaler for each sprite independently.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/i915_drv.h |2 +-
drivers/gpu/drm/i91
From: Ville Syrj?l?
Collect the part which takes care of issuing the flips to a new
function. This makes the following patch nicer to look at.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 37 --
1 files changed, 22 insertions(+), 15 d
From: Ville Syrj?l?
After the atomic flip has been split up into individual flip requests
for each scanout engine, put each such request into a FIFO. Then for
each flip request add new request to the ring(s) in order to get an
interrupt once the GPU has finished whatever it was doing with the
new
From: Ville Syrj?l?
If the GPU hangs, release all pending atomic flips from the queue.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/i915_irq.c |1 +
drivers/gpu/drm/i915/intel_atomic.c | 29 +
drivers/gpu/drm/i915/intel_drv.h|1 +
3 files
From: Ville Syrj?l?
The register values are computed when the flip ioctl is issued, and
they're used only after we've waited for the GPU to finish rendering.
The computed values are store in the intel_crtc and intel_plane structs,
so issuing another flip before the previous one has been fully com
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index 390251d..2f518be 100644
--- a/drivers/gpu/drm/i91
From: Ville Syrj?l?
Most of the code for preparing the 'struct intel_flip' instances was
identical betwen the CRTC and plane codepaths. Refactor the common parts
into a single function.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 122 +++-
From: Ville Syrj?l?
Atomic code might need i915_gem_check_olr().
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/i915_drv.h |1 +
drivers/gpu/drm/i915/i915_gem.c |2 +-
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/dr
From: Ville Syrj?l?
These are not needed anymore.
Signed-off-by: Ville Syrj?l?
---
include/drm/drm_crtc.h |2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index c8cea87..da9abb6 100644
--- a/include/drm/drm_crtc.h
+++ b/i
From: Ville Syrj?l?
Use the new_crtc and new_encoder pointes inside the intel_encoder and
intel_connector structures instead of swapping the crtc and encoder
pointers in the drm base structures around the disable calls.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 11
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 36 +++
1 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_atomic.c
b/drivers/gpu/drm/i915/intel_atomic.c
index e52d92a..36446d1
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c |4
1 files changed, 0 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_atomic.c
b/drivers/gpu/drm/i915/intel_atomic.c
index 415cd72..efdaff3 100644
--- a/drivers/gpu/drm/i91
From: Ville Syrj?l?
The atomic code will want to call intel_modeset_commit_output_state()
too.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_display.c |2 +-
drivers/gpu/drm/i915/intel_drv.h |1 +
2 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/
From: Ville Syrj?l?
A new trace point for tracking changes to gem object pin count.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/i915_gem.c |6 ++
drivers/gpu/drm/i915/i915_trace.h | 19 +++
2 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/dr
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/i915_drv.h |1 +
drivers/gpu/drm/i915/i915_trace.h | 15 +++
drivers/gpu/drm/i915/intel_atomic.c |9 -
3 files changed, 24 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/i9
From: Ville Syrj?l?
The atomic check() hook is interested in the staged new configuration,
so it must use the intel_encoder::new_crtc pointer when checking if
a CRTC is in use or not.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 16 ++--
1 files changed,
From: Ville Syrj?l?
Add a module parameter that allows one to easily change between blocking
and non-blocking GPU synchronization with atomic page flips.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_stub.c |5 ++
drivers/gpu/drm/i915/i915_trace.h | 49 ++
d
From: Ville Syrj?l?
Add a comment that outlines some of the missign/incomplete parts of the
atomic code.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 15 +++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_atomi
From: Ville Syrj?l?
---
drivers/gpu/drm/i915/intel_atomic.c | 15 +++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_atomic.c
b/drivers/gpu/drm/i915/intel_atomic.c
index c964b64a..43767c2 100644
--- a/drivers/gpu/drm/i915/intel_atomic.c
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/i915_trace.h | 19 +++
drivers/gpu/drm/i915/intel_atomic.c |4
2 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_trace.h
b/drivers/gpu/drm/i915/i915_tr
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/i915/i915_trace.h | 18 ++
drivers/gpu/drm/i915/intel_atomic.c |2 ++
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_trace.h
b/drivers/gpu/drm/i915/i915_trace
From: Ville Syrj?l?
The code happened to compile because the flag wasn't actually used yet.
Signed-off-by: Ville Syrj?l?
---
include/drm/drm_mode.h |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h
index 95d7aad..966fe7d 1
From: Ville Syrj?l?
Unlock the mode_config mutex if drm_plane_init() fails.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 2556589..7cb02f6 100644
From: Ville Syrj?l?
Several pointers and casts were missing __user annotations.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 30 +++---
1 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_c
From: Ville Syrj?l?
These are the only indication to user space that the plane was disabled.
Signed-off-by: Ville Syrj?l?
Acked-by: Jesse Barnes
---
drivers/gpu/drm/drm_crtc.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/dr
From: Ville Syrj?l?
Make sure the source coordinates stay within the buffer.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 23 +++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index
I rebased this set on top of drm-next.
I updated some of the error values based on what Jesse suggested.
I also added a few patches to fix various issues that came up
since I last posted the patches.
Since the patch to drop the planar formats with YVU plane order wasn't
applied to drm-next, I
From: Ville Syrj?l?
Userspace needs this header.
Signed-off-by: Ville Syrj?l?
---
include/drm/Kbuild |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/include/drm/Kbuild b/include/drm/Kbuild
index 3a60ac8..a5c0e10 100644
--- a/include/drm/Kbuild
+++ b/include/drm/Kbuild
From: Ville Syrj?l?
drm_fourcc.h can be included from user space so use the appropriate types.
Signed-off-by: Ville Syrj?l?
---
include/drm/drm_fourcc.h |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h
index bb75249
From: Ville Syrj?l?
Help drivers a little by guaranteeing that crtc_x+crtc_w and
crtc_y+crtc_h don't overflow.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 12
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/g
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c |2 +-
include/drm/drm_crtc.h |2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index b98e491..80cfe1c 100644
--- a/drivers/gpu
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 11 +++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 80cfe1c..66a165d 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/driver
From: Ville Syrj?l?
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_crtc.c | 75
1 files changed, 75 insertions(+), 0 deletions(-)
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index 66a165d..07d78e2 100644
--- a/driver
From: Ville Syrj?l?
Otherwise each driver would need to keep the information inside
their own framebuffer object structure. Also add offsets[]. BOs
on the other hand are driver specific, so those can be kept in
driver specific structures.
Signed-off-by: Ville Syrj?l?
---
drivers/gpu/drm/drm_cr
401 - 500 of 933 matches
Mail list logo