On Fri, Apr 20, 2018 at 02:59:59PM -0400, Sean Paul wrote:
> edid should be freed once it's finished being used.
>
> Fixes: 56fe8b6f4991 ("drm/bridge: Add RGB to VGA bridge support")
> Cc: Rob Herring <r...@kernel.org>
> Cc: Sean Paul <seanp...@chromium.or
On Fri, Apr 20, 2018 at 02:59:59PM -0400, Sean Paul wrote:
> edid should be freed once it's finished being used.
>
> Fixes: 56fe8b6f4991 ("drm/bridge: Add RGB to VGA bridge support")
> Cc: Rob Herring
> Cc: Sean Paul
> Cc: Maxime Ripard
> Cc: Archit Taneja
>
edid should be freed once it's finished being used.
Fixes: 56fe8b6f4991 ("drm/bridge: Add RGB to VGA bridge support")
Cc: Rob Herring <r...@kernel.org>
Cc: Sean Paul <seanp...@chromium.org>
Cc: Maxime Ripard <maxime.rip...@free-electrons.com>
Cc: Archit Taneja <arch
edid should be freed once it's finished being used.
Fixes: 56fe8b6f4991 ("drm/bridge: Add RGB to VGA bridge support")
Cc: Rob Herring
Cc: Sean Paul
Cc: Maxime Ripard
Cc: Archit Taneja
Cc: Andrzej Hajda
Cc: Laurent Pinchart
Cc: # v4.9+
Signed-off-by: Sean Paul
---
drivers/gpu/
JFYI, in future, if someone makes a suggestion on how to fix a bug, it's good
practice to add a Suggested-by tag to give credit.
Reviewed-by: Sean Paul <seanp...@chromium.org>
> Signed-off-by: Emil Lundmark <lnd...@chromium.org>
> ---
> drivers/gpu/drm/udl/udl_fb.c | 8
JFYI, in future, if someone makes a suggestion on how to fix a bug, it's good
practice to add a Suggested-by tag to give credit.
Reviewed-by: Sean Paul
> Signed-off-by: Emil Lundmark
> ---
> drivers/gpu/drm/udl/udl_fb.c | 8 +---
> 1 file changed, 5 insertions(+), 3 deletions(-
Factor out the commit_tail() portions of complete_commit() into a
separate function to facilitate moving to the atomic helpers in future
patches.
Changes in v2:
- None
Cc: Jeykumar Sankaran <jsa...@codeaurora.org>
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers
Factor out the commit_tail() portions of complete_commit() into a
separate function to facilitate moving to the atomic helpers in future
patches.
Changes in v2:
- None
Cc: Jeykumar Sankaran
Signed-off-by: Sean Paul
---
drivers/gpu/drm/msm/msm_atomic.c | 25 -
1 file
in swap_state to avoid abandoned events on disable
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers/gpu/drm/msm/msm_atomic.c | 153 +--
drivers/gpu/drm/msm/msm_drv.c| 1 -
drivers/gpu/drm/msm/msm_drv.h| 4 -
3 files changed, 42 insertions(+
in swap_state to avoid abandoned events on disable
Signed-off-by: Sean Paul
---
drivers/gpu/drm/msm/msm_atomic.c | 153 +--
drivers/gpu/drm/msm/msm_drv.c| 1 -
drivers/gpu/drm/msm/msm_drv.h| 4 -
3 files changed, 42 insertions(+), 116 deletions(-)
diff --git
Now that all of the msm-specific goo is tucked safely away we can switch
over to using the atomic helper commit directly. \o/
Changes in v2:
- None
Cc: Abhinav Kumar <abhin...@codeaurora.org>
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers/gpu/drm/msm/msm_at
Now that all of the msm-specific goo is tucked safely away we can switch
over to using the atomic helper commit directly. \o/
Changes in v2:
- None
Cc: Abhinav Kumar
Signed-off-by: Sean Paul
---
drivers/gpu/drm/msm/msm_atomic.c | 120 +--
drivers/gpu/drm/msm
Ensure that any queued events are issued when disabling the crtc. This
avoids timeouts when we come back and wait for dependencies (like the
previous frame's flip_done).
Changes in v2:
- None
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc
Ensure that any queued events are issued when disabling the crtc. This
avoids timeouts when we come back and wait for dependencies (like the
previous frame's flip_done).
Changes in v2:
- None
Signed-off-by: Sean Paul
---
drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c | 9 +
1 file changed
Don't leave the event != NULL once it's consumed, this is used a signal
to the atomic helpers that the event will be handled by the driver.
Changes in v2:
- None
Cc: Jeykumar Sankaran <jsa...@codeaurora.org>
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers/gpu/drm/m
Don't leave the event != NULL once it's consumed, this is used a signal
to the atomic helpers that the event will be handled by the driver.
Changes in v2:
- None
Cc: Jeykumar Sankaran
Signed-off-by: Sean Paul
---
drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c | 1 +
drivers/gpu/drm/msm/disp/mdp5
it Taneja <arch...@codeaurora.org>
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 77 ++-
drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h | 11 +--
drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.c | 12 ++-
drivers/gpu/drm/msm/
t;state ptr
- * is kfree'd and set back to NULL.
+ * with the ->state ptr.
*/
struct msm_kms_state {
- struct drm_atomic_state base;
+ struct drm_private_state base;
void *state;
};
-#define to_kms_state(x) container_of(x, struct msm_kms_state, base)
+
+/**
+ * Extracts the
> * Frees any pages and buffers associated with the given entry.
> */
> -static void drm_cleanup_buf_error(struct drm_device * dev,
> - struct drm_buf_entry * entry)
> +static void drm_cleanup_buf_error(struct drm_device *dev,
> + struct drm_buf_entry *entry)
> {
> int i;
>
> --
> 2.16.2
>
--
Sean Paul, Software Engineer, Google / Chromium OS
es any pages and buffers associated with the given entry.
> */
> -static void drm_cleanup_buf_error(struct drm_device * dev,
> - struct drm_buf_entry * entry)
> +static void drm_cleanup_buf_error(struct drm_device *dev,
> + struct drm_buf_entry *entry)
> {
> int i;
>
> --
> 2.16.2
>
--
Sean Paul, Software Engineer, Google / Chromium OS
t;
Thanks for sending these patches!
With Archit and Daniel's comments addressed, feel free to add my
Reviewed-by: Sean Paul <seanp...@chromium.org>
>
> Alexandru M Stan (2):
> dt-bindings: analogix-dp: Add backlight-pwm-passthru
> drm/bridge: analogix: Enable EDP_BACKLIGHT_F
t;
Thanks for sending these patches!
With Archit and Daniel's comments addressed, feel free to add my
Reviewed-by: Sean Paul
>
> Alexandru M Stan (2):
> dt-bindings: analogix-dp: Add backlight-pwm-passthru
> drm/bridge: analogix: Enable EDP_BACKLIGHT_FREQ_PWM_PIN_PASSTHRU
>
&
"DRM support for Sitronix ST7735R display panels"
> depends on DRM_TINYDRM && SPI
> + depends on BACKLIGHT_CLASS_DEVICE
> select TINYDRM_MIPI_DBI
> help
> DRM driver Sitronix ST7735R with one of the following LCDs:
> --
> 2.9.0
>
--
Sean Paul, Software Engineer, Google / Chromium OS
r Sitronix ST7735R display panels"
> depends on DRM_TINYDRM && SPI
> + depends on BACKLIGHT_CLASS_DEVICE
> select TINYDRM_MIPI_DBI
> help
> DRM driver Sitronix ST7735R with one of the following LCDs:
> --
> 2.9.0
>
--
Sean Paul, Software Engineer, Google / Chromium OS
On Fri, Feb 23, 2018 at 01:15:54PM -0500, Rob Clark wrote:
> On Fri, Feb 23, 2018 at 11:30 AM, Sean Paul <seanp...@chromium.org> wrote:
> > On Fri, Feb 23, 2018 at 08:17:54AM -0500, Rob Clark wrote:
> >> In a way, based on the original writeback patch from Jilai Wang, bu
On Fri, Feb 23, 2018 at 01:15:54PM -0500, Rob Clark wrote:
> On Fri, Feb 23, 2018 at 11:30 AM, Sean Paul wrote:
> > On Fri, Feb 23, 2018 at 08:17:54AM -0500, Rob Clark wrote:
> >> In a way, based on the original writeback patch from Jilai Wang, but a
> >> l
On Fri, Feb 23, 2018 at 04:48:58PM +, Liviu Dudau wrote:
> On Fri, Feb 23, 2018 at 11:43:29AM -0500, Sean Paul wrote:
> > On Fri, Feb 23, 2018 at 11:25:11AM -0500, Rob Clark wrote:
> > > On Fri, Feb 23, 2018 at 10:59 AM, Sean Paul <seanp...@chromium.org> wrote:
On Fri, Feb 23, 2018 at 04:48:58PM +, Liviu Dudau wrote:
> On Fri, Feb 23, 2018 at 11:43:29AM -0500, Sean Paul wrote:
> > On Fri, Feb 23, 2018 at 11:25:11AM -0500, Rob Clark wrote:
> > > On Fri, Feb 23, 2018 at 10:59 AM, Sean Paul wrote:
> > > >
> > >
On Fri, Feb 23, 2018 at 11:25:11AM -0500, Rob Clark wrote:
> On Fri, Feb 23, 2018 at 10:59 AM, Sean Paul <seanp...@chromium.org> wrote:
> >
> > Have we considered hiding writeback behind a client cap instead?
>
> It is kinda *almost* unneeded, since the connector repor
On Fri, Feb 23, 2018 at 11:25:11AM -0500, Rob Clark wrote:
> On Fri, Feb 23, 2018 at 10:59 AM, Sean Paul wrote:
> >
> > Have we considered hiding writeback behind a client cap instead?
>
> It is kinda *almost* unneeded, since the connector reports itself as
> disconnected
On Fri, Feb 23, 2018 at 04:21:05PM +, Liviu Dudau wrote:
> On Fri, Feb 23, 2018 at 10:59:35AM -0500, Sean Paul wrote:
> > On Fri, Feb 23, 2018 at 08:17:51AM -0500, Rob Clark wrote:
> > > From: Brian Starkey <brian.star...@arm.com>
> > >
> > > Writeb
On Fri, Feb 23, 2018 at 04:21:05PM +, Liviu Dudau wrote:
> On Fri, Feb 23, 2018 at 10:59:35AM -0500, Sean Paul wrote:
> > On Fri, Feb 23, 2018 at 08:17:51AM -0500, Rob Clark wrote:
> > > From: Brian Starkey
> > >
> > > Writeback connectors represe
ith the hw, but I don't see any programming errors, so:
Reviewed-by: Sean Paul <seanp...@chromium.org>
> ---
> drivers/gpu/drm/msm/disp/mdp5/mdp5.xml.h | 2 --
> drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.c | 17 +++--
> drivers/gpu/drm/msm/disp/mdp5/mdp5_cfg.h | 11 +
kms.c
> index 6d8e3a9a6fc0..1f44d8f15ce1 100644
> --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
> +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c
> @@ -652,6 +652,7 @@ struct msm_kms *mdp5_kms_init(struct drm_device *dev)
> pm_runtime_get_sync(>dev);
> for (i = 0; i < MDP5_INTF_NUM_MAX; i++) {
> if (mdp5_cfg_intf_is_virtual(config->hw->intf.connect[i]) ||
> + (config->hw->intf.connect[i] == INTF_DISABLED) ||
> !config->hw->intf.base[i])
> continue;
> mdp5_write(mdp5_kms, REG_MDP5_INTF_TIMING_ENGINE_EN(i), 0);
> --
> 2.14.3
>
--
Sean Paul, Software Engineer, Google / Chromium OS
+ mdp5_wb = kzalloc(sizeof(*mdp5_wb), GFP_KERNEL);
> + if (!mdp5_wb)
> + return ERR_PTR(-ENOMEM);
> +
> + mdp5_wb->id = wb_id;
> + mdp5_wb->ctl = ctl;
> +
> + /* construct a dummy intf for WB: */
> +// TODO un-inline this (and also in interface_init())
> + mdp5_wb->intf = kzalloc(sizeof(*mdp5_wb->intf), GFP_KERNEL);
> + mdp5_wb->intf->num = -1;
> + mdp5_wb->intf->type = INTF_WB;
> + mdp5_wb->intf->mode = MDP5_INTF_WB_MODE_LINE;
> + mdp5_wb->intf->idx = -1;
> +
> + mdp5_wb->wb_done.irq = mdp5_wb_done_irq;
> +// TODO just register for all wb irq's until I figure out the mapping..
> + mdp5_wb->wb_done.irqmask = MDP5_IRQ_WB_0_DONE | MDP5_IRQ_WB_1_DONE |
> MDP5_IRQ_WB_2_DONE;
> +
> + connector = _wb->base.base;
> +
> + drm_connector_helper_add(connector, _wb_connector_helper_funcs);
> +
> + mdp5_wb->nformats = mdp_get_formats(mdp5_wb->formats,
> + ARRAY_SIZE(mdp5_wb->formats), false);
> +
> + drm_writeback_connector_init(dev,
> + _wb->base,
> + _wb_connector_funcs,
> + _wb_encoder_helper_funcs,
> + mdp5_wb->formats,
> + mdp5_wb->nformats);
> +
> + connector->interlace_allowed = 0;
> + connector->doublescan_allowed = 0;
These are handled by drm_writeback_connector_init (and kzalloc)
> +
> + return _wb->base;
> +}
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c
> b/drivers/gpu/drm/msm/dsi/dsi_host.c
> index 7a03a9489708..422f524f7562 100644
> --- a/drivers/gpu/drm/msm/dsi/dsi_host.c
> +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
> @@ -741,7 +741,7 @@ static void dsi_intr_ctrl(struct msm_dsi_host *msm_host,
> u32 mask, int enable)
> else
> intr &= ~mask;
>
> - DBG("intr=%x enable=%d", intr, enable);
> + VERB("intr=%x enable=%d", intr, enable);
>
> dsi_write(msm_host, REG_DSI_INTR_CTRL, intr);
> spin_unlock_irqrestore(_host->intr_lock, flags);
> @@ -1465,7 +1465,7 @@ static irqreturn_t dsi_host_irq(int irq, void *ptr)
> dsi_write(msm_host, REG_DSI_INTR_CTRL, isr);
> spin_unlock_irqrestore(_host->intr_lock, flags);
>
> - DBG("isr=0x%x, id=%d", isr, msm_host->id);
> + VERB("isr=0x%x, id=%d", isr, msm_host->id);
>
> if (isr & DSI_IRQ_ERROR)
> dsi_error(msm_host);
> --
> 2.14.3
>
--
Sean Paul, Software Engineer, Google / Chromium OS
if (!mdp5_wb)
> + return ERR_PTR(-ENOMEM);
> +
> + mdp5_wb->id = wb_id;
> + mdp5_wb->ctl = ctl;
> +
> + /* construct a dummy intf for WB: */
> +// TODO un-inline this (and also in interface_init())
> + mdp5_wb->intf = kzalloc(sizeof(*mdp5_wb->intf), GFP_KERNEL);
> + mdp5_wb->intf->num = -1;
> + mdp5_wb->intf->type = INTF_WB;
> + mdp5_wb->intf->mode = MDP5_INTF_WB_MODE_LINE;
> + mdp5_wb->intf->idx = -1;
> +
> + mdp5_wb->wb_done.irq = mdp5_wb_done_irq;
> +// TODO just register for all wb irq's until I figure out the mapping..
> + mdp5_wb->wb_done.irqmask = MDP5_IRQ_WB_0_DONE | MDP5_IRQ_WB_1_DONE |
> MDP5_IRQ_WB_2_DONE;
> +
> + connector = _wb->base.base;
> +
> + drm_connector_helper_add(connector, _wb_connector_helper_funcs);
> +
> + mdp5_wb->nformats = mdp_get_formats(mdp5_wb->formats,
> + ARRAY_SIZE(mdp5_wb->formats), false);
> +
> + drm_writeback_connector_init(dev,
> + _wb->base,
> + _wb_connector_funcs,
> + _wb_encoder_helper_funcs,
> + mdp5_wb->formats,
> + mdp5_wb->nformats);
> +
> + connector->interlace_allowed = 0;
> + connector->doublescan_allowed = 0;
These are handled by drm_writeback_connector_init (and kzalloc)
> +
> + return _wb->base;
> +}
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c
> b/drivers/gpu/drm/msm/dsi/dsi_host.c
> index 7a03a9489708..422f524f7562 100644
> --- a/drivers/gpu/drm/msm/dsi/dsi_host.c
> +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
> @@ -741,7 +741,7 @@ static void dsi_intr_ctrl(struct msm_dsi_host *msm_host,
> u32 mask, int enable)
> else
> intr &= ~mask;
>
> - DBG("intr=%x enable=%d", intr, enable);
> + VERB("intr=%x enable=%d", intr, enable);
>
> dsi_write(msm_host, REG_DSI_INTR_CTRL, intr);
> spin_unlock_irqrestore(_host->intr_lock, flags);
> @@ -1465,7 +1465,7 @@ static irqreturn_t dsi_host_irq(int irq, void *ptr)
> dsi_write(msm_host, REG_DSI_INTR_CTRL, isr);
> spin_unlock_irqrestore(_host->intr_lock, flags);
>
> - DBG("isr=0x%x, id=%d", isr, msm_host->id);
> + VERB("isr=0x%x, id=%d", isr, msm_host->id);
>
> if (isr & DSI_IRQ_ERROR)
> dsi_error(msm_host);
> --
> 2.14.3
>
--
Sean Paul, Software Engineer, Google / Chromium OS
me.)
> - Update documentation around WRITEBACK_OUT_FENCE_PTR
>
> Signed-off-by: Brian Starkey <brian.star...@arm.com>
> [rebased and fixed conflicts]
> Signed-off-by: Mihail Atanassov <mihail.atanas...@arm.com>
> Signed-off-by: Liviu Dudau <liviu.du...@arm.com>
ntation around WRITEBACK_OUT_FENCE_PTR
>
> Signed-off-by: Brian Starkey
> [rebased and fixed conflicts]
> Signed-off-by: Mihail Atanassov
> Signed-off-by: Liviu Dudau
> Signed-off-by: Rob Clark
Reviewed-by: Sean Paul
> ---
> drivers
t; +
> +struct drm_writeback_connector {
> + struct drm_connector base;
> +
> + /**
> + * @encoder: Internal encoder used by the connector to fulfill
> + * the DRM framework requirements. The users of the
> + * @drm_writeback_connector control the beha
mework requirements. The users of the
> + * @drm_writeback_connector control the behaviour of the @encoder
> + * by passing the @enc_funcs parameter to drm_writeback_connector_init()
> + * function.
> + */
> + struct drm_encoder encoder;
> +
> + /**
> + * @pixel_formats_blob_ptr:
> + *
> + * DRM blob property data for the pixel formats list on writeback
> + * connectors
> + * See also drm_writeback_connector_init()
> + */
> + struct drm_property_blob *pixel_formats_blob_ptr;
> +
> + /** @job_lock: Protects job_queue */
> + spinlock_t job_lock;
> +
> + /**
> + * @job_queue:
> + *
> + * Holds a list of a connector's writeback jobs; the last item is the
> + * most recent. The first item may be either waiting for the hardware
> + * to begin writing, or currently being written.
> + *
> + * See also: drm_writeback_queue_job() and
> + * drm_writeback_signal_completion()
> + */
> + struct list_head job_queue;
> +};
> +#define to_wb_connector(x) container_of(x, struct drm_writeback_connector,
> base)
> +
> +struct drm_writeback_job {
> + /**
> + * @cleanup_work:
> + *
> + * Used to allow drm_writeback_signal_completion to defer dropping the
> + * framebuffer reference to a workqueue.
> + */
> + struct work_struct cleanup_work;
> + /**
> + * @list_entry:
> + *
> + * List item for the connector's @job_queue
> + */
> + struct list_head list_entry;
> + /**
> + * @fb:
> + *
> + * Framebuffer to be written to by the writeback connector. Do not set
> + * directly, use drm_atomic_set_writeback_fb_for_connector()
> + */
> + struct drm_framebuffer *fb;
> +};
> +
> +int drm_writeback_connector_init(struct drm_device *dev,
> + struct drm_writeback_connector *wb_connector,
> + const struct drm_connector_funcs *con_funcs,
> + const struct drm_encoder_helper_funcs
> *enc_helper_funcs,
> + const u32 *formats, int n_formats);
> +
> +void drm_writeback_queue_job(struct drm_writeback_connector *wb_connector,
> + struct drm_writeback_job *job);
> +
> +void drm_writeback_cleanup_job(struct drm_writeback_job *job);
> +void drm_writeback_signal_completion(struct drm_writeback_connector
> *wb_connector);
> +#endif
> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> index 2c575794fb52..7b47e184e95e 100644
> --- a/include/uapi/drm/drm_mode.h
> +++ b/include/uapi/drm/drm_mode.h
> @@ -338,6 +338,7 @@ enum drm_mode_subconnector {
> #define DRM_MODE_CONNECTOR_VIRTUAL 15
> #define DRM_MODE_CONNECTOR_DSI 16
> #define DRM_MODE_CONNECTOR_DPI 17
> +#define DRM_MODE_CONNECTOR_WRITEBACK 18
>
> struct drm_mode_get_connector {
>
> --
> 2.14.3
>
--
Sean Paul, Software Engineer, Google / Chromium OS
l_vop_cal_scale() to avoid that.
>
> Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com>
Reviewed-by: Sean Paul <seanp...@chromium.org>
> ---
>
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 5 -
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff
l_vop_cal_scale() to avoid that.
>
> Signed-off-by: Jeffy Chen
Reviewed-by: Sean Paul
> ---
>
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 5 -
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
> b/d
for (tmp = iomem_resource.child; tmp; tmp = tmp->sibling) {
> max_iomem = max(max_iomem, tmp->end);
> --
> 2.9.0
>
--
Sean Paul, Software Engineer, Google / Chromium OS
m_resource.child; tmp; tmp = tmp->sibling) {
> max_iomem = max(max_iomem, tmp->end);
> --
> 2.9.0
>
--
Sean Paul, Software Engineer, Google / Chromium OS
On Wed, Jan 24, 2018 at 11:32 AM, Meghana Madhyastha
wrote:
> Move drm helper functions from tinydrm-helpers to linux/backlight for
> ease of use by callers in other drivers.
>
It was a long time coming, but this has finally been applied to
-misc-next. Thanks for
On Wed, Jan 24, 2018 at 11:32 AM, Meghana Madhyastha
wrote:
> Move drm helper functions from tinydrm-helpers to linux/backlight for
> ease of use by callers in other drivers.
>
It was a long time coming, but this has finally been applied to
-misc-next. Thanks for sticking with it!
Sean
>
On Wed, Jan 31, 2018 at 7:54 AM, Lucas Stach <l.st...@pengutronix.de> wrote:
> Am Dienstag, den 30.01.2018, 21:29 +0100 schrieb Thierry Escande:
>> From: Sean Paul <seanp...@chromium.org>
>>
>> Change the mode for Sharp lq123p1jx31 panel to something more
>>
On Wed, Jan 31, 2018 at 7:54 AM, Lucas Stach wrote:
> Am Dienstag, den 30.01.2018, 21:29 +0100 schrieb Thierry Escande:
>> From: Sean Paul
>>
>> Change the mode for Sharp lq123p1jx31 panel to something more
>> rockchip-friendly such that we can use the fixed PLLs to
On Tue, Jan 30, 2018 at 05:19:46PM +0200, Ville Syrjälä wrote:
> On Tue, Jan 30, 2018 at 10:09:27AM -0500, Sean Paul wrote:
> > On Tue, Jan 30, 2018 at 04:05:28AM -0600, Gustavo A. R. Silva wrote:
> > > Assign true or false to boolean variables instead of an integer value.
>
On Tue, Jan 30, 2018 at 05:19:46PM +0200, Ville Syrjälä wrote:
> On Tue, Jan 30, 2018 at 10:09:27AM -0500, Sean Paul wrote:
> > On Tue, Jan 30, 2018 at 04:05:28AM -0600, Gustavo A. R. Silva wrote:
> > > Assign true or false to boolean variables instead of an integer value.
>
.connector = connector,
> .edid = edid,
> - .preferred = 1,
> + .preferred = true,
> .quirks = quirks,
> };
>
> --
> 2.7.4
>
--
Sean Paul, Software Engineer, Google / Chromium OS
tor = connector,
> .edid = edid,
> - .preferred = 1,
> + .preferred = true,
> .quirks = quirks,
> };
>
> --
> 2.7.4
>
--
Sean Paul, Software Engineer, Google / Chromium OS
fer
> drm/bridge: analogix_dp: Ensure edp is disabled when shutting down the
> panel
> drm/bridge: analogix_dp: Extend hpd check time to 100ms
> drm/bridge: analogix_dp: Check dpcd write/read status
> drm/bridge: analogix_dp: Reset aux channel if an error occurred
>
>
fer
> drm/bridge: analogix_dp: Ensure edp is disabled when shutting down the
> panel
> drm/bridge: analogix_dp: Extend hpd check time to 100ms
> drm/bridge: analogix_dp: Check dpcd write/read status
> drm/bridge: analogix_dp: Reset aux channel if an error occurred
>
>
unlock(_drv->psr_list_lock);
>
> return 0;
> +
> + err1:
> + kfree(psr->input_handler.name);
> + err2:
> + kfree(psr);
> + return error;
> }
> EXPORT_SYMBOL(rockchip_drm_psr_register);
>
> @@ -279,8 +410,11 @@ void rockchip_drm_psr_unregister(struct drm_encoder
> *encoder)
> mutex_lock(_drv->psr_list_lock);
> list_for_each_entry_safe(psr, n, _drv->psr_list, list) {
> if (psr->encoder == encoder) {
> + input_unregister_handler(>input_handler);
> cancel_delayed_work_sync(>flush_work);
> + cancel_work_sync(>disable_work);
> list_del(>list);
> + kfree(psr->input_handler.name);
> kfree(psr);
> }
> }
> --
> 2.14.1
>
--
Sean Paul, Software Engineer, Google / Chromium OS
+ error = input_register_handler(>input_handler);
> + if (error)
> + goto err1;
> +
> mutex_lock(_drv->psr_list_lock);
> list_add_tail(>list, _drv->psr_list);
> mutex_unlock(_drv->psr_list_lock);
>
> return 0;
> +
> + err1:
> + kfree(psr
ga <tf...@chromium.org>
> Signed-off-by: zain wang <w...@rock-chips.com>
> Signed-off-by: Douglas Anderson <diand...@chromium.org>
> Signed-off-by: Sean Paul <seanp...@chromium.org>
> Signed-off-by: Thierry Escande <thierry.esca...@collabora.com>
> Reviewed
in wang
> Signed-off-by: Douglas Anderson
> Signed-off-by: Sean Paul
> Signed-off-by: Thierry Escande
> Reviewed-by: Andrzej Hajda
> ---
> drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 42
> +-
> 1 file changed, 26 insertions(+), 16 delet
.org>
> Signed-off-by: zain wang <w...@rock-chips.com>
> Signed-off-by: Sean Paul <seanp...@chromium.org>
> Signed-off-by: Thierry Escande <thierry.esca...@collabora.com>
> Reviewed-by: Andrzej Hajda <a.ha...@samsung.com>
> ---
> drivers/gpu/drm/bridge/a
SLAVE_VID_FUNC_EN_N
>
> on Rockchip edp phy,
> BIT 7 reserved
> BIT 6 RK_VID_CAP_FUNC_EN_N
> BIT 5 RK_VID_FIFO_FUNC_EN_N
>
> So, we should do some private operations to Rockchip.
>
> Cc: Tomasz Figa
> Signed-off-by: zain wang
> Signed-off
On Mon, Jan 29, 2018 at 04:14:41PM -0500, Sean Paul wrote:
> On Fri, Jan 26, 2018 at 02:16:49PM +0100, Thierry Escande wrote:
> > From: Lin Huang <h...@rock-chips.com>
> >
> > We need to check the dpcd write/read return value to see whether the
> > write/read was
On Mon, Jan 29, 2018 at 04:14:41PM -0500, Sean Paul wrote:
> On Fri, Jan 26, 2018 at 02:16:49PM +0100, Thierry Escande wrote:
> > From: Lin Huang
> >
> > We need to check the dpcd write/read return value to see whether the
> > write/read was successful
> >
;
> Cc: 征增 王 <w...@rock-chips.com>
> Cc: Douglas Anderson <diand...@chromium.org>
> Signed-off-by: Lin Huang <h...@rock-chips.com>
> Signed-off-by: Sean Paul <seanp...@chromium.org>
> Signed-off-by: Thierry Escande <thierry.esca...@collabora.com>
> R
uglas Anderson
> Signed-off-by: Lin Huang
> Signed-off-by: Sean Paul
> Signed-off-by: Thierry Escande
> Reviewed-by: Andrzej Hajda
> ---
> drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c | 18 ++
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
> Signed-off-by: Lin Huang <h...@rock-chips.com>
> Signed-off-by: zain wang <w...@rock-chips.com>
> Signed-off-by: Douglas Anderson <diand...@chromium.org>
> Signed-off-by: Sean Paul <seanp...@chromium.org>
> Signed-off-by: Thierry Escande <thierry.
zain wang
> Signed-off-by: Douglas Anderson
> Signed-off-by: Sean Paul
> Signed-off-by: Thierry Escande
> Reviewed-by: Andrzej Hajda
> ---
> drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 181
> +++--
> 1 file changed, 132 insertions(+), 49 deletions(-)
&
with the code here. The code below matches the
code in the CrOS tree, so let's just fix up the commit message.
>
> Cc: Stéphane Marchesin <marc...@chromium.org>
> Cc: 征增 王 <w...@rock-chips.com>
> Signed-off-by: Lin Huang <h...@rock-chips.com>
> Signed-off
e code below matches the
code in the CrOS tree, so let's just fix up the commit message.
>
> Cc: Stéphane Marchesin
> Cc: 征增 王
> Signed-off-by: Lin Huang
> Signed-off-by: Sean Paul
> Signed-off-by: Thierry Escande
> Reviewed-by: Andrzej Hajda
> ---
> drivers/gpu/drm
On Fri, Jan 26, 2018 at 02:16:28PM +0100, Thierry Escande wrote:
> From: Tomasz Figa <tf...@chromium.org>
>
> This patch removes unused fields from vop structure.
>
> Signed-off-by: Tomasz Figa <tf...@chromium.org>
> Signed-off-by: Sean Paul <seanp...@chrom
On Fri, Jan 26, 2018 at 02:16:28PM +0100, Thierry Escande wrote:
> From: Tomasz Figa
>
> This patch removes unused fields from vop structure.
>
> Signed-off-by: Tomasz Figa
> Signed-off-by: Sean Paul
> Signed-off-by: Thierry Escande
Reviewed-by: Sean Paul
>
ht, a helper function which is a generic version
>> >> of tinydrm_of_find_backlight that can be used by other drivers to avoid
>> >> repetition of code and simplify things.
>> >>
>> >> Acked-by: Daniel Thompson <daniel.thomp...@linaro.org>
>
helper function which is a generic version
>> >> of tinydrm_of_find_backlight that can be used by other drivers to avoid
>> >> repetition of code and simplify things.
>> >>
>> >> Acked-by: Daniel Thompson
>> >> Reviewed-by: Noralf Trønnes
>> >> Rev
On Wed, Jan 24, 2018 at 02:23:46PM -0500, Sean Paul wrote:
> On Wed, Jan 24, 2018 at 04:41:38PM +, Meghana Madhyastha wrote:
> > Replace of_find_backlight_by_node and of the code around it
> > with of_find_backlight helper to avoid repetition of code.
> >
> > Signed
On Wed, Jan 24, 2018 at 02:23:46PM -0500, Sean Paul wrote:
> On Wed, Jan 24, 2018 at 04:41:38PM +, Meghana Madhyastha wrote:
> > Replace of_find_backlight_by_node and of the code around it
> > with of_find_backlight helper to avoid repetition of code.
> >
> > Signed
gt; - if (ddata->backlight)
> - put_device(>backlight->dev);
> -
> - return r;
> }
>
> static int panel_dpi_probe(struct platform_device *pdev)
> @@ -270,9 +258,6 @@ static int __exit panel_dpi_remove(struct platform_device
> *pdev)
>
> omap_dss_put_device(in);
>
> - if (ddata->backlight)
> - put_device(>backlight->dev);
> -
> return 0;
> }
>
> --
> 2.11.0
>
--
Sean Paul, Software Engineer, Google / Chromium OS
put_device(>backlight->dev);
> -
> - return r;
> }
>
> static int panel_dpi_probe(struct platform_device *pdev)
> @@ -270,9 +258,6 @@ static int __exit panel_dpi_remove(struct platform_device
> *pdev)
>
> omap_dss_put_device(in);
>
> - if (ddata->backlight)
> - put_device(>backlight->dev);
> -
> return 0;
> }
>
> --
> 2.11.0
>
--
Sean Paul, Software Engineer, Google / Chromium OS
transfer(dsi, );
> > + return (ret < 0) ? ret : 0;
> > }
> > EXPORT_SYMBOL(mipi_dsi_turn_on_peripheral);
> >
> > @@ -541,8 +543,9 @@ int mipi_dsi_set_maximum_return_packet_size(struct
> > mipi_dsi_device *dsi,
> > .tx_len = sizeof(tx),
> > .tx_buf = tx,
> > };
> > + int ret = mipi_dsi_device_transfer(dsi, );
> >
> > - return mipi_dsi_device_transfer(dsi, );
> > + return (ret < 0) ? ret : 0;
> > }
> > EXPORT_SYMBOL(mipi_dsi_set_maximum_return_packet_size);
> >
>
>
--
Sean Paul, Software Engineer, Google / Chromium OS
et < 0) ? ret : 0;
> > }
> > EXPORT_SYMBOL(mipi_dsi_turn_on_peripheral);
> >
> > @@ -541,8 +543,9 @@ int mipi_dsi_set_maximum_return_packet_size(struct
> > mipi_dsi_device *dsi,
> > .tx_len = sizeof(tx),
> > .tx_buf = tx,
> > };
> > + int ret = mipi_dsi_device_transfer(dsi, );
> >
> > - return mipi_dsi_device_transfer(dsi, );
> > + return (ret < 0) ? ret : 0;
> > }
> > EXPORT_SYMBOL(mipi_dsi_set_maximum_return_packet_size);
> >
>
>
--
Sean Paul, Software Engineer, Google / Chromium OS
mipi-dbi.c | 4 +-
> drivers/video/backlight/backlight.c | 69 ++
> include/drm/tinydrm/tinydrm-helpers.h | 4 --
> include/linux/backlight.h | 56 +++++++
> 11 files changed, 157 insertions(+), 162 deletions(-)
>
> --
> 2.11.0
>
--
Sean Paul, Software Engineer, Google / Chromium OS
mipi-dbi.c | 4 +-
> drivers/video/backlight/backlight.c | 69 ++
> include/drm/tinydrm/tinydrm-helpers.h | 4 --
> include/linux/backlight.h | 56 +++++++
> 11 files changed, 157 insertions(+), 162 deletions(-)
>
> --
> 2.11.0
>
--
Sean Paul, Software Engineer, Google / Chromium OS
On Mon, Jan 8, 2018 at 2:55 PM, Sean Paul <seanp...@chromium.org> wrote:
> This is The One. Differences between v6 and v5 include fixing a printk
> formatting issue that 0-day found, and changing the verbose licenses in the
> new
> files to SPDX tags.
>
> I'll pus
On Mon, Jan 8, 2018 at 2:55 PM, Sean Paul wrote:
> This is The One. Differences between v6 and v5 include fixing a printk
> formatting issue that 0-day found, and changing the verbose licenses in the
> new
> files to SPDX tags.
>
> I'll push this to a topic branch in the drm-
-by: Daniel Vetter <daniel.vet...@ffwll.ch>
Signed-off-by: Sean Paul <seanp...@chromium.org>
[1] https://lists.freedesktop.org/archives/dri-devel/2014-December/073336.html
---
drivers/gpu/drm/drm_atomic.c| 8 +
drivers/gpu/drm/drm_conn
-by: Daniel Vetter
Signed-off-by: Sean Paul
[1] https://lists.freedesktop.org/archives/dri-devel/2014-December/073336.html
---
drivers/gpu/drm/drm_atomic.c| 8 +
drivers/gpu/drm/drm_connector.c | 78 +
include/drm/drm_connector.h | 16
ret (Chris)
Changes in v4:
- checkpatch whitespace fix
Changes in v5:
- None
Changes in v6:
- None
Suggested-by: Chris Wilson <ch...@chris-wilson.co.uk>
Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch>
Reviewed-by: Chris Wilson <ch...@chris-wilson.co.uk>
Signed-off-by
ret (Chris)
Changes in v4:
- checkpatch whitespace fix
Changes in v5:
- None
Changes in v6:
- None
Suggested-by: Chris Wilson
Reviewed-by: Daniel Vetter
Reviewed-by: Chris Wilson
Signed-off-by: Sean Paul
---
drivers/gpu/drm/i915/intel_drv.h| 17 ++---
drivers/gpu/drm/i915
m>
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_ddi.c | 29 +
drivers/gpu/drm/i915/intel_drv.h | 2 +
drivers/gpu/drm/i915/intel_hdmi.c | 250 ++
4 files changed, 282 i
)
- Wrap sanity checks in WARN_ON (Daniel)
- Consolidate the enable/disable functions into one toggle fn
- Use intel_hdcp_init (Daniel)
Changes in v5:
- checkpatch whitespace nits
Changes in v6:
- None
Cc: Daniel Vetter
Reviewed-by: Ramalingam C
Signed-off-by: Sean Paul
---
drivers/gpu/drm/i915
intel.com>
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers/gpu/drm/i915/intel_dp.c | 244 ++--
1 file changed, 237 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 35c5299f
in v3:
- Initialize new worker
Changes in v4:
- Use intel_hdcp_init (Daniel)
- Check for reauth requests in check_link (Ram)
Changes in v5:
- None
Changes in v6:
- Fix build warnings when printing ssize_t
Cc: Daniel Vetter
Reviewed-by: Ramalingam C
Signed-off-by: Sean Paul
---
drivers/gpu/drm
e Syrjälä <ville.syrj...@linux.intel.com>
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers/gpu/drm/i915/intel_i2c.c | 34 --
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i
and, and the second one is sent via the GMBUS FIFO as usual.
Changes in v3:
- Added to series
Changes in v4:
- Combine indexed reads and writes (Ville)
Changes in v5:
- checkpatch whitespace nits
Changes in v6:
- None
Reviewed-by: Daniel Vetter
Suggested-by: Ville Syrjälä
Signed-off-by: Sean P
...@intel.com>
Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch>
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers/gpu/drm/i915/Makefile| 1 +
drivers/gpu/drm/i915/i915_reg.h | 83
drivers/gpu/drm/i915/intel_atomic.c | 2 +
drivers/gpu/dr
rs/gpu/drm/i915/intel_hdcp.c
b/drivers/gpu/drm/i915/intel_hdcp.c
new file mode 100644
index ..3c164a27d50b
--- /dev/null
+++ b/drivers/gpu/drm/i915/intel_hdcp.c
@@ -0,0 +1,723 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright (C) 2017 Google, Inc.
+ *
+ * Authors:
+ * Se
nges in v5:
- checkpatch whitespace fix
Changes in v6:
- None
Cc: Ville Syrjälä <ville.syrj...@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vet...@ffwll.ch>
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_re
nges in v5:
- checkpatch whitespace fix
Changes in v6:
- None
Cc: Ville Syrjälä
Reviewed-by: Daniel Vetter
Signed-off-by: Sean Paul
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_reg.h | 1 +
drivers/gpu/drm/i915/intel_i2c.c | 47 +---
3 fil
(Daniel)
Changes in v3:
- None
Changes in v4:
- None
Changes in v5:
- None
Changes in v6:
- SPDX license
Cc: Daniel Vetter <daniel.vet...@intel.com>
Reviewed-by: Ramalingam C <ramaling...@intel.com>
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
include/drm/dr
(Daniel)
Changes in v3:
- None
Changes in v4:
- None
Changes in v5:
- None
Changes in v6:
- SPDX license
Cc: Daniel Vetter
Reviewed-by: Ramalingam C
Signed-off-by: Sean Paul
---
include/drm/drm_dp_helper.h | 17 +
include/drm/drm_hdcp.h | 39
is over.
Sincere thanks to Ram, Daniel, and others for their review. Now the fun part,
testing and fixing bugs!
Sean
Sean Paul (9):
drm: Fix link-status kerneldoc line lengths
drm/i915: Add more control to wait_for routines
drm: Add Content Protection property
drm: Add some HDCP related
;
Signed-off-by: Sean Paul <seanp...@chromium.org>
---
drivers/gpu/drm/drm_connector.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
index e6a21e69059c..2559c615d984 100644
--- a/drivers/gpu/d
101 - 200 of 1122 matches
Mail list logo