From: Gustavo Padovan <gustavo.padovan(a)collabora.co.uk>
Hi Inki,
In this series I've removed some level of indirection from the exynos_drm_code.
There two moves in these patches, first we remove all exynos_drm_crtc_plane_*()
wrappers and call the manager specific functions directly. The other change is
the removal of struct …
[View More]exynos_drm_overlay(). In my understanding the overlay
struct was just storing plane data in a 1:1 relationship so it made sense to
merge its fields in struct exynos_drm_plane and remove another abstraction from
the driver.
Next steps:
During our initial investigation on the Exynos DRM driver we've spoted a few
abstractions that could be removed to get a more clean and less abstract code.
- struct exynos_drm_manager: this is just a helper of
struct exynos_drm_crtc, I suggest we could merge them both.
- struct *_win_data: Most of the share common fields and could be merged
int struct exynos_drm_plane.
- some more function wrapper can be removed as well.
After these changes intead of looking to manager and win_data we will look into
crtc and planes. The new names give us more clue about what a piece of code is
doing since they are already defined and used by the whole DRM ecossytem.
What your thoughts on this? I've seen that you pushed some patches to remove
static usage of managers so I would like to check with you which direction are
you planning to go with this. I've done some code[0] around this but now it
needs a rebase against you exynos-drm-next.
[0] https://git.kernel.org/cgit/linux/kernel/git/padovan/drm-exynos.git/log/?h=…
Gustavo Padovan (4):
drm/exynos: move to_exynos_crtc() macro to main header
drm/exynos: expose struct exynos_drm_crtc
drm/exynos: remove exynos_drm_crtc_plane_* wrappers
drm/exynos: remove struct exynos_drm_overlay
drivers/gpu/drm/exynos/exynos_drm_crtc.c | 66 ---------------------
drivers/gpu/drm/exynos/exynos_drm_crtc.h | 2 +-
drivers/gpu/drm/exynos/exynos_drm_drv.h | 43 +++++++++++++-
drivers/gpu/drm/exynos/exynos_drm_fimd.c | 44 +++++++-------
drivers/gpu/drm/exynos/exynos_drm_plane.c | 96 +++++++++++++++----------------
drivers/gpu/drm/exynos/exynos_drm_vidi.c | 38 ++++++------
drivers/gpu/drm/exynos/exynos_mixer.c | 50 ++++++++--------
7 files changed, 156 insertions(+), 183 deletions(-)
--
1.9.3
[View Less]
https://bugzilla.kernel.org/show_bug.cgi?id=87761
Alan <alan(a)lxorguk.ukuu.org.uk> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |alan(a)lxorguk.ukuu.org.uk
Component|I2C |Video(DRI - non Intel)
Assignee|drivers-i2c(a)kernel-bugs.osd |drivers_video-dri@kernel-bu
|l.org …
[View More] |gs.osdl.org
Summary|File Name "aux" not allowed |nouveau: renaming aux.c
|on windows |would make life easier for
| |those remote editing via
| |git/windows
--- Comment #1 from Alan <alan(a)lxorguk.ukuu.org.uk> ---
This would be graphics.
We've traditionally not cared, but with git now being a workable and not
unusual environment for edit on windows, commit and build on the servers it's a
good point
Reassigning to the right category
--
You are receiving this mail because:
You are watching the assignee of the bug.
[View Less]
Signed-off-by: Rob Clark <robdclark(a)gmail.com>
---
include/uapi/drm/drm_mode.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
index 86574b0..aae71cb 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
@@ -338,7 +338,7 @@ struct drm_mode_fb_cmd2 {
/*
* In case of planar formats, this ioctl allows up to 4
- * buffer objects with offets and pitches per plane.
+ * buffer …
[View More]objects with offsets and pitches per plane.
* The pitch and offset order is dictated by the fourcc,
* e.g. NV12 (http://fourcc.org/yuv.php#NV12) is described as:
*
@@ -346,9 +346,9 @@ struct drm_mode_fb_cmd2 {
* followed by an interleaved U/V plane containing
* 8 bit 2x2 subsampled colour difference samples.
*
- * So it would consist of Y as offset[0] and UV as
- * offeset[1]. Note that offset[0] will generally
- * be 0.
+ * So it would consist of Y as offsets[0] and UV as
+ * offsets[1]. Note that offsets[0] will generally
+ * be 0 (but this is not required).
*/
__u32 handles[4];
__u32 pitches[4]; /* pitch for each plane */
--
2.1.0
[View Less]
Forgotten to add mailing lists.
-Daniel
On Wed, Dec 10, 2014 at 3:53 PM, Daniel Vetter <daniel.vetter(a)ffwll.ch> wrote:
> On Wed, Dec 10, 2014 at 3:03 PM, Dan Carpenter <dan.carpenter(a)oracle.com> wrote:
>> From a style prespective this should be:
>>
>> crtc->gamma_store = kcalloc(gamma_size * 3, sizeof(uint16_t),
>> GFP_KERNEL);
>>
>> Because the elements are sizeof(uint16_t), we are allocating …
[View More]3
>> arrays of gamma_size elements. But I guess it's nice to move all the
>> constants to one side of the equation so that it tests for integer
>> overflows... Whatever you decided is fine, this is a one time email
>> that is auto-genenerated.
>
> Imo the point of kcalloc and kmalloc_array is to get the overflow
> checks correct. Putting the *3 to the gamma_size (which can be fairly
> big and migth come from dubios places) means we still have to deal
> with overflow headaches. sizeof(uint16_t)*3 is trivial to see that
> it's not overflowing.
>
> I think your style guide here is exactly _not_ what we should do as
> best practice for safe code.
> -Daniel
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
[View Less]
The check was already in place in the dp mode_valid check, but
radeon_dp_get_dp_link_clock() never returned the high clock
mode_valid was checking for because that function clipped the
clock based on the hw capabilities. Add an explicit check
in the mode_valid function.
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=87172
Signed-off-by: Alex Deucher <alexander.deucher(a)amd.com>
Cc:stable@vge.kernel.org
---
drivers/gpu/drm/radeon/atombios_dp.c | 4 ++++
1 file changed, 4 insertions(…
[View More]+)
diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c
index 11ba9d2..db42a67 100644
--- a/drivers/gpu/drm/radeon/atombios_dp.c
+++ b/drivers/gpu/drm/radeon/atombios_dp.c
@@ -492,6 +492,10 @@ int radeon_dp_mode_valid_helper(struct drm_connector *connector,
struct radeon_connector_atom_dig *dig_connector;
int dp_clock;
+ if ((mode->clock > 340000) &&
+ (!radeon_connector_is_dp12_capable(connector)))
+ return MODE_CLOCK_HIGH;
+
if (!radeon_connector->con_priv)
return MODE_CLOCK_HIGH;
dig_connector = radeon_connector->con_priv;
--
1.8.3.1
[View Less]