Hi Jyri,
On Monday 30 Jan 2017 13:11:56 Jyri Sarha wrote:
> On 01/28/17 18:17, Laurent Pinchart wrote:
> > On Friday 27 Jan 2017 12:04:55 Jyri Sarha wrote:
> >> Move drm_atomic_helper_commit_modeset_enables() call to before
> >> drm_atomic_helper_co
et();
>
> drm_atomic_helper_commit_modeset_disables(dev, old_state);
> - drm_atomic_helper_commit_planes(dev, old_state,
> - DRM_PLANE_COMMIT_ACTIVE_ONLY);
> + drm_atomic_helper_commit_planes(dev, old_state, 0);
> drm_atomic_helper_commit_modeset_enables(dev, old_state);
&g
the dispc implementation ? ;-) Otherwise, could you
rebase (and retest) this patch on top of "[PATCH 0/5] omapdrm: fences and
zpos" ?
> + */
> drm_atomic_helper_commit_modeset_enables(dev, old_state);
> + omap_atomic_wait_for_completion(dev, old_state);
>
, SA_NUM_DEVICES);
> + return -EIO;
> + }
> +
> + return 0;
> +}
> +
> +static void __exit sa_exit(void)
> +{
> + dev_t dev = MKDEV(SA_MAJOR, 0);
> +
> + class_unregister(_class);
> + unregister_chrdev_region(dev, SA_NUM_DEVICES);
> +}
>
gt;state->event) {
+ drm_crtc_send_vblank_event(crtc, crtc->state->event);
+ crtc->state->event = NULL;
+ }
+ spin_unlock_irq(>dev->event_lock);
+
rcrtc->outputs = 0;
}
--
Regards,
Laurent Pinchart
_
The DRM core atomic helper now supports asynchronous commits natively.
The custom rcar-du implementation isn't needed anymore, remove it.
Signed-off-by: Laurent Pinchart <laurent.pinchart+rene...@ideasonboard.com>
---
drivers/gpu/drm/rcar-du/rcar_du_kms.
The atomic commit helper requires drivers to clear the event pointer
stored in the CRTC state when the event is handled. In preparation to
using the helper, fix the driver.
Signed-off-by: Laurent Pinchart <laurent.pinchart+rene...@ideasonboard.com>
---
drivers/gpu/drm/rcar-du/rcar_du_crtc
gpu/drm/i915/intel_display.c | 13 +++---
> include/drm/drm_atomic.h | 81 +++--
> include/drm/drm_atomic_helper.h | 2 +
> 5 files changed, 149 insertions(+), 18 deletions(-)
--
Regards,
Laurent Pinchart
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
v_cma_create_with_funcs(struct drm_fb_helper *helper,
> bytes_per_pixel = DIV_ROUND_UP(sizes->surface_bpp, 8);
>
> mode_cmd.width = sizes->surface_width;
> - mode_cmd.height = sizes->surface_height;
> + mode_cmd.height = sizes->surface_height * fbdev_num_bu
Hi Daniel,
On Monday 23 Jan 2017 09:48:54 Daniel Vetter wrote:
> On Thu, Jan 19, 2017 at 12:56:29AM +0200, Laurent Pinchart wrote:
> > On Tuesday 17 Jan 2017 08:41:03 Maarten Lankhorst wrote:
> >> Op 17-01-17 om 00:11 schreef Laurent Pinchart:
> >>> On Monda
0/7] drm/atomic: Add accessor macros for all atomic state" (posted
to the dri-devel mailing list) for proper runtime operation of asynchronous
commits.
Laurent Pinchart (3):
drm: rcar-du: Handle event when disabling CRTCs
drm: rcar-du: Clear handled event pointer in CRTC state
drm: rca
omic.c | 39 ++--
> drivers/gpu/drm/drm_atomic_helper.c | 377 ++--
> drivers/gpu/drm/drm_blend.c | 23 +--
> drivers/gpu/drm/i915/intel_display.c | 13 +-
> include/drm/drm_atomic.h | 180 -
> include/drm/drm_atomic_hel
t; drivers/media/platform/Kconfig | 13
> drivers/media/platform/Makefile |1
> drivers/media/platform/rcar_imr.c| 1923 +++++++
> include/uapi/linux/rcar_imr.h| 94
> 5 files cha
return;
> > +
> > + cdev_del(>chrdev);
> > + device_del(>dev);
> > + put_device(>dev);
> > +}
> > +EXPORT_SYMBOL_GPL(simple_allocator_unregister);
> > +
> > +static int __init sa_init(void)
> > +{
> > + dev_t dev = MKDEV(SA_MAJOR, 0);
> > + int ret;
> > +
> > + ret = register_chrdev_region(dev, SA_NUM_DEVICES, SA_NAME);
> > + if (ret < 0)
> > + return ret;
> > +
> > + ret = class_register(_class);
> > + if (ret < 0) {
> > + unregister_chrdev_region(dev, SA_NUM_DEVICES);
> > + return -EIO;
> > + }
> > +
> > + return 0;
> > +}
> > +
> > +static void __exit sa_exit(void)
> > +{
> > + dev_t dev = MKDEV(SA_MAJOR, 0);
> > +
> > + class_unregister(_class);
> > + unregister_chrdev_region(dev, SA_NUM_DEVICES);
> > +}
> > +
> > +subsys_initcall(sa_init);
> > +module_exit(sa_exit);
> > +
> > +MODULE_AUTHOR("Benjamin Gaignard <benjamin.gaign...@linaro.org>");
> > +MODULE_DESCRIPTION("Simple allocator");
> > +MODULE_LICENSE("GPL");
> > +MODULE_ALIAS_CHARDEV_MAJOR(SA_MAJOR);
> > diff --git a/include/uapi/linux/simple-allocator.h
> > b/include/uapi/linux/simple-allocator.h new file mode 100644
> > index 000..5520a85
> > --- /dev/null
> > +++ b/include/uapi/linux/simple-allocator.h
> > @@ -0,0 +1,35 @@
> > +/*
> > + * Copyright (C) Linaro 2016
> > + *
> > + * Author: Benjamin Gaignard <benjamin.gaign...@linaro.org>
> > + *
> > + * License terms: GNU General Public License (GPL), version 2
> > + */
> > +
> > +#ifndef _SIMPLE_ALLOCATOR_H_
> > +#define _SIMPLE_ALLOCATOR_H_
> > +
> > +#include
> > +#include
> > +
> > +/**
> > + * struct simple_allocate_data - allocation parameters
> > + * @version: structure version (must be set to 0)
> > + * @length:size of the requested buffer
> > + * @flags: mode flags for the file like O_RDWR or O_CLOEXEC
> > + * @fd:returned file descriptor
> > + */
> > +struct simple_allocate_data {
> > + __u64 version;
> > + __u64 length;
> > + __u32 flags;
> > + __u32 reserved1;
> > + __s32 fd;
> > + __u32 reserved2;
> > +};
> > +
> > +#define SA_IOC_MAGIC 'S'
> > +
> > +#define SA_IOC_ALLOC _IOWR(SA_IOC_MAGIC, 0, struct simple_allocate_data)
> > +
> > +#endif
> > --
> > 1.9.1
--
Regards,
Laurent Pinchart
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi Daniel,
On Tuesday 14 Feb 2017 20:44:44 Daniel Vetter wrote:
> On Tue, Feb 14, 2017 at 8:39 PM, Laurent Pinchart wrote:
> > On Tuesday 14 Feb 2017 20:33:58 Daniel Vetter wrote:
> >> On Mon, Feb 13, 2017 at 3:45 PM, Benjamin Gaignard wrote:
> >>> This is the c
Hi Daniel,
On Tuesday 14 Feb 2017 21:09:51 Daniel Vetter wrote:
> On Mon, Feb 13, 2017 at 11:20:51AM +, Daniel Stone wrote:
> > On 13 February 2017 at 10:54, Maxime Ripard wrote:
> >> On Sun, Feb 12, 2017 at 02:28:11PM +0200, Laurent Pinchart wrote:
> >>> On
Hi Daniel,
On Tuesday 14 Feb 2017 21:03:07 Daniel Vetter wrote:
> On Tue, Jan 17, 2017 at 01:55:50AM +0200, Laurent Pinchart wrote:
> > On Monday 16 Jan 2017 10:37:40 Maarten Lankhorst wrote:
> >
> > Could we please get a description ? Apart from that,
>
> Typed
Hi Maxime,
On Wednesday 15 Feb 2017 13:38:44 Maxime Ripard wrote:
> On Mon, Feb 13, 2017 at 11:20:51AM +, Daniel Stone wrote:
> > On 13 February 2017 at 10:54, Maxime Ripard wrote:
> >> On Sun, Feb 12, 2017 at 02:28:11PM +0200, Laurent Pinchart wrote:
> >>> On
Hi Maxime,
On Wednesday 15 Feb 2017 13:51:29 Maxime Ripard wrote:
> On Tue, Feb 14, 2017 at 11:25:08PM +0200, Laurent Pinchart wrote:
> > On Tuesday 14 Feb 2017 21:09:51 Daniel Vetter wrote:
> >> On Mon, Feb 13, 2017 at 11:20:51AM +, Daniel Stone wrote:
> >>>
changes up to 76adb460fd939756db689f238d5c2ddb45469705:
drm: Remove the struct drm_device platformdev field (2017-02-17 15:27:24
+0200)
--------
Laurent Pinchart (4):
drm: shmobile: Perform initialization/cleanup at probe/remove time
Hi Michel,
On Wednesday 18 Jan 2017 10:50:01 Michel Dänzer wrote:
> On 17/01/17 07:16 AM, Laurent Pinchart wrote:
> > On Monday 16 Jan 2017 10:44:57 Andrey Grodzovsky wrote:
> >> Change-Id: Iad3e0b9b3546e4e4dc79be9233daf4fe4dba83e0
> >> Signed-off-by: Andrey Grodzovsky
register state in
> the regmap cache is getting lost, likely as the device registers
> were reset during power off.
It's not the state in the regmap cache that is lost, but the state in the
hardware, indeed because the registers contents are lost when the chip is
powered down.
Reviewed-by: Laurent Pi
Hi Maarten,
On Tuesday 17 Jan 2017 08:41:03 Maarten Lankhorst wrote:
> Op 17-01-17 om 00:11 schreef Laurent Pinchart:
> > On Monday 16 Jan 2017 10:37:38 Maarten Lankhorst wrote:
> >> Add for_each_(old)(new)_(plane,connector,crtc)_in_state iterators to
> >> replace th
to address feedback from Laurent.
>
> Thoughts and feedback would be appreciated!
For the whole series,
Tested-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
> New in v4:
> * Tweaked connector.status assignment to avoid race, as
> suggested by Laurent
> *
; they can be used for internal needs.
>
> Cc: David Airlie <airl...@linux.ie>
> Cc: Archit Taneja <arch...@codeaurora.org>
> Cc: Wolfram Sang <wsa+rene...@sang-engineering.com>
> Cc: Lars-Peter Clausen <l...@metafoo.de>
> Cc: Laurent Pinchart <laurent.p
signal
> pulse to the EDID probe path, but Archit has had a patch to
> add HPD signal pulse to the EDID probe path before, so this
> should address the cases where that helped.
You should also mentioned that the power off path now calls
regcache_mark_dirty(). Apart from that,
Revie
Hi Peter,
On Monday 16 Jan 2017 09:37:11 Peter Senna Tschudin wrote:
> On Tue, Jan 10, 2017 at 11:04:58PM +0200, Laurent Pinchart wrote:
> > On Saturday 07 Jan 2017 01:29:52 Peter Senna Tschudin wrote:
> >> On 04 January, 2017 21:39 CET, Rob Herring wrote:
> >>>
__i].old_state, 1); \
> + (__i)++) \
> + for_each_if (plane)
> +
> +#define for_each_new_plane_in_state(__state, plane, new_plane_state, __i) \
> + for ((__i) = 0;
DW_HDMI_PHY_DWC_HDMI_TX_PHY = 0x00,
> DW_HDMI_PHY_DWC_MHL_PHY_HEAC = 0xb2,
> @@ -68,6 +76,7 @@ struct dw_hdmi_plat_data {
>const struct dw_hdmi_plat_data *data);
> bool (*hdmi_read_hpd)(struct dw_hdmi *hdmi,
> const struct dw_h
nt (*hdmi_phy_init)(struct dw_hdmi *hdmi,
> + const struct dw_hdmi_plat_data *data,
> + struct drm_display_mode *mode);
> + void (*hdmi_phy_disable)(struct dw_hdmi *hdmi,
> + const struct dw
status = "okay";
> +};
> +
> + {
> + status = "okay";
> +};
--
Regards,
Laurent Pinchart
Hi Sergei,
Thank you for the patch.
On Thursday 04 Aug 2016 15:01:02 Sergei Shtylyov wrote:
> Add support for the R8A7792 DU; it has 2 DPAD (RGB) outputs.
>
> Signed-off-by: Sergei Shtylyov
Acked-by: Laurent Pinchart
And applied to my tree.
> ---
> This patch is against t
as boards which all use ADV7511W --
> add it to the encoder list.
>
> Signed-off-by: Sergei Shtylyov
Acked-by: Laurent Pinchart
And applied to my tree.
> ---
> This patch is against the 'drm/next/du' branch of Laurent Pinchart's
> 'media.git' repo...
>
> drivers/gpu/drm/rc
rote:
> >>> On Thu, Jun 09, 2016 at 03:23:17PM +0300, Ville Syrjälä wrote:
> >>>> On Thu, Jun 09, 2016 at 10:52:23AM +0200, Daniel Vetter wrote:
> >>>>> On Thu, Jun 09, 2016 at 02:32:06AM +0300, Laurent Pinchart wrote:
> >>>>>> Var
since v1:
- Move format-related helpers to drm_fourcc.c
- Use named initializers for the formats array
- WARN when calling drm_format_info() for an unsupported format
- Don't drop the drm_format_plane_width() and drm_format_plane_height()
helpers
Laurent Pinchart (14):
drm: Centra
to multiple lookups.
Centralize all format information in a data structure and create a
function to look up information based on the format 4CC.
Signed-off-by: Laurent Pinchart
---
Documentation/gpu/drm-kms.rst | 3 ++
drivers/gpu/drm/drm_fourcc.c | 84
Turn the drm_format_*() helpers into wrappers around the drm_format_info
lookup function to centralize all format information in a single place.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/drm_fourcc.c | 186 +--
1 file changed, 37 insertions
.
The only exception is the framebuffer_check() function that calls
drm_format_info() to validate the format passed from userspace. This is
a valid use case that shouldn't generate a warning.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/drm_fourcc.c | 32
The driver needs the number of bytes per pixel, not the bpp and depth
info meant for fbdev compatibility. Use the right API.
Signed-off-by: Laurent Pinchart
Acked-by: Vincent Abriou
---
drivers/gpu/drm/sti/sti_gdp.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Cc: Benjamin
Replace calls to the drm_format_*() helper functions with direct use of
the drm_format_info structure. This improves efficiency by removing
duplicate lookups.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/drm_fb_cma_helper.c | 23
drivers/gpu/drm/drm_framebuffer.c | 102
The driver needs the number of bytes per pixel, not the bpp and depth
info meant for fbdev compatibility. Use the right API.
Signed-off-by: Laurent Pinchart
Acked-by: Liviu Dudau
---
drivers/gpu/drm/arm/hdlcd_crtc.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
Cc: Liviu Dudau
-off-by: Laurent Pinchart
Reviewed-by: Tomi Valkeinen
---
Changes since v3:
- Removed DRM_FORMAT_ARGB support
- Fixed coding style
- Renamed min_pitch to pitch
---
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 15 +--
drivers/gpu/drm/tilcdc/tilcdc_plane.c | 7 ---
2 files changed
The driver doesn't need the color depth, only the number of bits per
pixel. Use the right API.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/cirrus/cirrus_fbdev.c | 6 +++---
drivers/gpu/drm/cirrus/cirrus_main.c | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
Cc: Dave Airlie
to the drivers internals. As a
first step, replace usage of the drm_fb_get_bpp_depth() function with an
equivalent check based on drm_format_info(). This is part of a wider
effort to remove usage of the drm_fb_get_bpp_depth() function in
drivers.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/gma500
The driver needs the number of bytes per pixel, not the bpp and depth
info meant for fbdev compatibility. Use the right API.
Signed-off-by: Laurent Pinchart
---
Changes since v3:
- Renamed bpp to cpp
---
drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 14 +++---
drivers/gpu/drm/amd/amdgpu
The driver needs the number of bytes per pixel, not the bpp and depth
info meant for fbdev compatibility. Use the right API.
Signed-off-by: Laurent Pinchart
---
Changes since v3:
- Renamed bpp to cpp
---
drivers/gpu/drm/radeon/radeon_fb.c | 20 ++--
drivers/gpu/drm/radeon
The driver doesn't need the color depth, only the number of bits per
pixel. Use the right API.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/arm/malidp_hw.c | 7 +--
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/arm/malidp_hw.c b/drivers/gpu/drm/arm
-by: Laurent Pinchart
---
drivers/gpu/drm/drm_fourcc.c | 31 ---
drivers/gpu/drm/drm_modeset_helper.c | 17 +++--
include/drm/drm_fourcc.h | 1 -
3 files changed, 15 insertions(+), 34 deletions(-)
diff --git a/drivers/gpu/drm/drm_fourcc.c b
-by: Laurent Pinchart
Reviewed-by: Sinclair Yeh
---
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 12 ++--
1 file changed, 10 insertions(+), 2 deletions(-)
Cc: VMware Graphics
Cc: Sinclair Yeh
Cc: Thomas Hellstrom
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
b/drivers/gpu/drm/vmwgfx
Hi Liviu,
On Monday 25 Jul 2016 12:10:24 Liviu Dudau wrote:
> On Thu, Jun 09, 2016 at 10:01:40AM +0100, Liviu Dudau wrote:
> > On Thu, Jun 09, 2016 at 02:32:12AM +0300, Laurent Pinchart wrote:
> > > The driver needs the number of bytes per pixel, not the bpp and depth
> >
mentioned.
> If you can't what would be the best option to get this fixed?
--
Regards,
Laurent Pinchart
Hi Tomi,
Thank you for the review.
On Wednesday 14 Sep 2016 14:49:26 Tomi Valkeinen wrote:
> On 08/09/16 17:44, Laurent Pinchart wrote:
> > Various pieces of information about DRM formats (number of planes, color
> > depth, chroma subsampling, ...) are scattered across d
Hi Tomi,
Thank you for the review.
On Wednesday 14 Sep 2016 16:23:09 Tomi Valkeinen wrote:
> On 08/09/16 17:44, Laurent Pinchart wrote:
> > Replace calls to the drm_format_*() helper functions with direct use of
> > the drm_format_info structure. This improves efficie
-off-by: Laurent Pinchart
Reviewed-by: Tomi Valkeinen
---
Changes since v4:
- Added support for DRM_FORMAT_BGR565, DRM_FORMAT_XBGR and
DRM_FORMAT_BGR888
Changes since v3:
- Removed DRM_FORMAT_ARGB support
- Fixed coding style
- Renamed min_pitch to pitch
Cc: Jyri Sarha
---
drivers
Hello,
On Thursday 15 Sep 2016 17:12:12 Eric Engestrom wrote:
> On Thu, Sep 15, 2016 at 09:22:54AM +0300, Tomi Valkeinen wrote:
> > On 15/09/16 01:22, Laurent Pinchart wrote:
> >> No, the depth value is the number of colour bits, excluding the alpha
> >> bits. This is
Hi Tomi,
On Friday 16 Sep 2016 12:44:31 Tomi Valkeinen wrote:
> On 16/09/16 02:30, Laurent Pinchart wrote:
> > I've checked the existing code that this patch series is replacing, and
> > the [ARGB]{4} formats are currently reported as having a depth of 32.
> > I'm not sur
readout\n");
> + } else {
> + dev_err(>dev, "Couldn't retrieve i2c bus\n");
> + return PTR_ERR(vga->ddc);
> + }
> + }
> +
> + vga->bridge.funcs = _vga_bridge_funcs;
> + vga->bridge.of_node = pdev->dev.of_node;
> +
> + ret = drm_bridge_add(>bridge);
> + if (ret && !IS_ERR(vga->ddc))
> + i2c_put_adapter(vga->ddc);
> +
> + return ret;
> +}
> +
> +static int dumb_vga_remove(struct platform_device *pdev)
> +{
> + struct dumb_vga *vga = platform_get_drvdata(pdev);
> +
> + drm_bridge_remove(>bridge);
> +
> + if (!IS_ERR(vga->ddc))
> + i2c_put_adapter(vga->ddc);
> +
> + return 0;
> +}
> +
> +static const struct of_device_id dumb_vga_match[] = {
> + { .compatible = "rgb-to-vga-bridge" },
> + {},
> +};
> +MODULE_DEVICE_TABLE(of, dumb_vga_match);
> +
> +struct platform_driver dumb_vga_driver = {
> + .probe = dumb_vga_probe,
> + .remove = dumb_vga_remove,
> + .driver = {
> + .name = "rgb-to-vga-bridge",
> + .of_match_table = dumb_vga_match,
> + },
> +};
> +module_platform_driver(dumb_vga_driver);
> +
> +MODULE_AUTHOR("Maxime Ripard ");
> +MODULE_DESCRIPTION("Dumb RGB to VGA bridge driver");
> +MODULE_LICENSE("GPL");
--
Regards,
Laurent Pinchart
On Sunday 18 Sep 2016 13:01:16 Laurent Pinchart wrote:
> On Thursday 08 Sep 2016 14:17:48 Maxime Ripard wrote:
> > Some boards have an entirely passive RGB to VGA bridge, based on either
> > DACs or resistor ladders.
> >
> > Those might or might not have an i2c bus
> or Do I need to base my driver something like
> "drivers/gpu/drm/i2c/adv7511.c", however I also see it is converted to
> bridge driver and moved to "drivers/gpu/drm/bridge/adv7511.c" [1]
>
> [1] http://www.spinics.net/lists/dri-devel/msg113244.html
--
Regards,
Laurent Pinchart
to multiple lookups.
Centralize all format information in a data structure and create a
function to look up information based on the format 4CC.
Signed-off-by: Laurent Pinchart
---
Changes since v4:
- Fixed depth value of DRM_FORMAT_[AXRGB]{4} formats to match
current code
- Documented the depth
Hi Daniel,
On Monday 06 Jun 2016 04:14:59 Laurent Pinchart wrote:
> On Wednesday 11 May 2016 09:37:56 Daniel Vetter wrote:
> > On Tue, May 10, 2016 at 04:24:11PM +0300, Tomi Valkeinen wrote:
> >> On 26/04/16 23:35, Laurent Pinchart wrote:
> >>> Instead of co
The only multi-planar format supported by the driver is NV12, there will
thus never be more than two planes per framebuffer.
Signed-off-by: Laurent Pinchart
Reviewed-by: Tomi Valkeinen
---
drivers/gpu/drm/omapdrm/omap_fb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git
tches 06/20 to 19/20) that, beside simplifying the code, ensures that
the vblank count and timestamp get updated properly in order to be reported to
userspace.
The series is based on top of the "[PATCH v4 00/14] Centralize format
information" patches sent to the dri-devel mailing list.
The driver stores in a custom structure named format several pieces of
information about the format that are available in the DRM core. Remove
them and get the information from the DRM core instead.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_fb.c | 91
Don't print userspace parameters validation failures as error messages
to avoid giving userspace the ability to flood the kernel log.
Signed-off-by: Laurent Pinchart
Reviewed-by: Tomi Valkeinen
---
drivers/gpu/drm/omapdrm/omap_fb.c | 12 ++--
1 file changed, 6 insertions(+), 6
As the FIFO underflow IRQ handler just prints an error message to the
kernel log, simplify the code by not registering one IRQ handler per
plane but print the messages directly from the main IRQ handler.
Signed-off-by: Laurent Pinchart
---
Changes since v1:
- Only register error IRQs that exist
The omapdrm DSS manager enable/disable operations check the DSS manager
state to avoid double enabling/disabling. Move that code to the DSS
manager to decrease the dependency of the DRM layer to the DSS layer.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/dss/dispc.c | 1
The DRM core supports skipping plane update for inactive CRTCs for
hardware that don't need it or can't cope with it. That's our case, so
use the DRM core infrastructure instead of reinventing it.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_crtc.c | 8 +++-
drivers/gpu
The flag will need to be accessed atomically in the vblank interrupt
handler, memory barriers won't be enough.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_crtc.c | 28 +---
1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu
The function is only used in omap_irq.c, move it there and make it
static.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_crtc.c | 7 ---
drivers/gpu/drm/omapdrm/omap_drv.h | 1 -
drivers/gpu/drm/omapdrm/omap_irq.c | 7 ++-
3 files changed, 6 insertions(+), 9
. This will be refactored later, at which
point the enabled field will be removed.
Signed-off-by: Laurent Pinchart
---
Changes since v2:
- Use enabled field in struct omap_crtc instead of CRTC atomic state
---
drivers/gpu/drm/omapdrm/omap_crtc.c | 22 +-
1 file changed, 13 insertions(+), 9
Instead of going through a complicated registration mechanism, just
call the OCP error IRQ handler directly from the main IRQ handler.
Signed-off-by: Laurent Pinchart
---
Changes since v1:
- Rename IRQ handler to omap_irq_ocp_error_handler()
- Replace hex error value with "OCP error&quo
.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_crtc.c | 38 ++---
drivers/gpu/drm/omapdrm/omap_drv.h | 1 +
drivers/gpu/drm/omapdrm/omap_irq.c | 4 +++-
3 files changed, 18 insertions(+), 25 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm
The IRQ registration functions are not used outside of their compilation
unit, make them static. As the __omap_irq_(un)register() functions are
only called by their omap_irq_(un)register() counterparts, merge them
together.
Signed-off-by: Laurent Pinchart
---
Changes since v1:
- Split
Now that the IRQ list is used for IRQ wait only we can merge
omap_drm_irq and omap_irq_wait and simplify the implementation.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_drv.h | 17 +--
drivers/gpu/drm/omapdrm/omap_irq.c | 94 ++
2
Move the list of pending IRQ wait instances to the omap_drm_private
structure and the wait queue head to the IRQ wait structure.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_drv.h | 3 ++-
drivers/gpu/drm/omapdrm/omap_irq.c | 42 --
2
Merge the single-user objects_lookup inline function into its caller,
allowing reuse of the error code path.
Signed-off-by: Laurent Pinchart
Reviewed-by: Tomi Valkeinen
---
drivers/gpu/drm/omapdrm/omap_drv.h | 25 -
drivers/gpu/drm/omapdrm/omap_fb.c | 29
with the existing hardware.
Signed-off-by: Laurent Pinchart
---
Changes since v1:
- Clarify commit message and mention explicitly in the code that only
one and two planes formats are supported.
- Rebase on top of the switch to drm_format_info()
---
drivers/gpu/drm/omapdrm/omap_fb.c | 58
Instead of going through a complicated registration mechanism, just
expose the CRTC error IRQ function and call it directly from the main
IRQ handler.
Signed-off-by: Laurent Pinchart
Reviewed-by: Tomi Valkeinen
---
drivers/gpu/drm/omapdrm/omap_crtc.c | 12 ++--
drivers/gpu/drm/omapdrm
.
In preparation for vblank interrupt fixes, make sure that the atomic
update event will be processed once only when the vblank interrupt will
be kept enabled.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_crtc.c | 22 +++---
1 file changed, 19 insertions(+), 3 deletions
The IRQ wait functions are called from the DSS enable and disable
operations only, where the DISPC is guaranteed to be enabled. There's no
need for manual DISPC power management there.
Signed-off-by: Laurent Pinchart
---
drivers/gpu/drm/omapdrm/omap_irq.c | 4
1 file changed, 4 deletions
The only omap_drm_irq handler doesn't use the irqstatus parameter passed
to the function. Remove it.
Signed-off-by: Laurent Pinchart
---
Changes since v1:
- New patch
---
drivers/gpu/drm/omapdrm/omap_drv.h | 2 +-
drivers/gpu/drm/omapdrm/omap_irq.c | 4 ++--
2 files changed, 3 insertions(+), 3
Cc: Benjamin Gaignard
> Cc: Laurent Pinchart
> Signed-off-by: Ville Syrjälä
Acked-by: Laurent Pinchart
> ---
> drivers/gpu/drm/drm_blend.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_blend.c b/drivers/gpu/drm/drm_blend.c
Hi Daniel,
Thanks for the review.
On Wednesday 21 Sep 2016 09:23:14 Daniel Vetter wrote:
> On Sun, Sep 18, 2016 at 01:17:27PM +0300, Laurent Pinchart wrote:
> > Various pieces of information about DRM formats (number of planes, color
> > depth, chroma subsampling, ...) are s
Hi Daniel,
Thanks for the review.
On Wednesday 21 Sep 2016 09:34:13 Daniel Vetter wrote:
> On Thu, Sep 08, 2016 at 05:44:16PM +0300, Laurent Pinchart wrote:
> > Turn the drm_format_*() helpers into wrappers around the drm_format_info
> > lookup function to centralize all for
Hi Daniel,
Thank you for the review.
On Wednesday 21 Sep 2016 09:51:44 Daniel Vetter wrote:
> On Thu, Sep 08, 2016 at 05:44:24PM +0300, Laurent Pinchart wrote:
> > The driver needs the number of bytes per pixel, not the bpp and depth
> > info meant for fbdev compatibility. Us
Hi Daniel,
On Wednesday 21 Sep 2016 14:46:07 Daniel Vetter wrote:
> On Wed, Sep 21, 2016 at 2:39 PM, Laurent Pinchart wrote:
> >> > @@ -82,7 +82,7 @@ int amdgpu_align_pitch(struct amdgpu_device *adev,
> >> > int width, int bpp, bool tile
> >>
Hi Daniel,
On Thursday 22 Sep 2016 07:31:24 Daniel Vetter wrote:
> On Wed, Sep 21, 2016 at 3:59 PM, Laurent Pinchart wrote:
> > On Wednesday 21 Sep 2016 14:46:07 Daniel Vetter wrote:
> >> On Wed, Sep 21, 2016 at 2:39 PM, Laurent Pinchart wrote:
> >>>>> @@ -
vers/gpu/drm/omapdrm/omap_dmm_tiler.c | 58 +----------
> > drivers/gpu/drm/omapdrm/omap_gem.c | 44 +++-
> > 2 files changed, 49 insertions(+), 53 deletions(-)
--
Regards,
Laurent Pinchart
if (!priv->background_color_prop)
> + return -ENOMEM;
> +
> return 0;
> }
>
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.h
> b/drivers/gpu/drm/omapdrm/omap_drv.h index 4c51135eb9a6..0d16294e8145
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.h
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.h
> @@ -97,9 +97,12 @@ struct omap_drm_private {
> struct omap_drm_usergart *usergart;
> bool has_dmm;
>
> - /* properties: */
> + /* plane properties */
> struct drm_property *zorder_prop;
>
> + /* crtc properties */
> + struct drm_property *background_color_prop;
> +
> /* irq handling: */
> struct list_head irq_list;/* list of omap_drm_irq */
> uint32_t vblank_mask; /* irq bits set for userspace vblank */
--
Regards,
Laurent Pinchart
object *drm_gem_cma_create(struct drm_device
> *drm, size_t size);
>
> +unsigned long drm_gem_cma_get_unmapped_area(struct file *filp,
> + unsigned long addr,
> + unsigned long len,
> + unsigned long pgoff,
> + unsigned long flags);
> +
> extern const struct vm_operations_struct drm_gem_cma_vm_ops;
>
> #ifdef CONFIG_DEBUG_FS
--
Regards,
Laurent Pinchart
return -EINVAL;
> +
> + return (unsigned long)info->screen_base + pgoff;
> +}
> +#endif
> +
> static const struct file_operations fb_fops = {
> .owner =THIS_MODULE,
> .read = fb_read,
[snip]
--
Regards,
Laurent Pinchart
On Wednesday 30 Nov 2016 14:51:26 Tomi Valkeinen wrote:
> On 30/11/16 13:25, Laurent Pinchart wrote:
> > Hi Tomi,
> >
> > Thank you for the patch.
> >
> > On Wednesday 30 Nov 2016 13:17:05 Tomi Valkeinen wrote:
> >> Add DRM property for crtc backgr
Hi Ville,
On Wednesday 30 Nov 2016 15:53:53 Ville Syrjälä wrote:
> On Wed, Nov 30, 2016 at 03:34:58PM +0200, Laurent Pinchart wrote:
> > On Wednesday 30 Nov 2016 14:51:26 Tomi Valkeinen wrote:
> >> On 30/11/16 13:25, Laurent Pinchart wrote:
> >>> On Wednesday 30 No
rest of the function then creates CRTCs, as far as I understand always
up to num_crtcs. Can't we just use that value to compute possible_crtcs as (1
<< num_crtcs ) - 1 ?
> +
> + ret = drm_universal_plane_init(dev, plane, possible_crtcs,
> _plane_funcs, omap_plane->formats,
> omap_plane->nformats, type, NULL);
> if (ret < 0)
--
Regards,
Laurent Pinchart
Hi Ville,
On Wednesday 30 Nov 2016 16:40:30 Ville Syrjälä wrote:
> On Wed, Nov 30, 2016 at 03:56:38PM +0200, Laurent Pinchart wrote:
> > On Wednesday 30 Nov 2016 15:53:53 Ville Syrjälä wrote:
> >> On Wed, Nov 30, 2016 at 03:34:58PM +0200, Laurent Pinchart wrote:
> >>
e able to enable one of the legacy drivers
> > which need the exported symbols from this file.
>
> Following your advice I have removed drm_vm.c from the build if
> CONFIG_MMU is not set
How about only including it if !DRM_LEGACY && !DRM_NOUVEAU ?
> I only had to stub drm_legacy_vma_flush() to compile.
> I will include that in v3
--
Regards,
Laurent Pinchart
Hi Benjamin,
On Wednesday 30 Nov 2016 16:34:37 Benjamin Gaignard wrote:
> 2016-11-30 16:19 GMT+01:00 Laurent Pinchart:
> > On Wednesday 30 Nov 2016 16:08:23 Benjamin Gaignard wrote:
> >> 2016-11-30 14:52 GMT+01:00 Daniel Vetter :
> >>> On Wed, Nov 30, 2016 at 12:21
1 LVDS
R8A7796 (M3-W) DPADHDMILVDS-
(You should obviously replace the table with Amlogic data)
It doesn't matter if the current driver implementation only supports CVBS, the
DT bindings can already document the other ports.
> +
> +Exampl
. You can name it meson.txt, but a better option would
be amlogic,meson.txt. By the way does it really need a subdirectory ?
> 1 file changed, 101 insertions(+)
> create mode 100644
> Documentation/devicetree/bindings/display/meson/meson-drm.txt
--
Regards,
Laurent Pinchart
701 - 800 of 8952 matches
Mail list logo