Re: [PATCH v6 4/5] drm/bridge: anx7625: add HDCP support

2021-03-29 Thread Sean Paul
On Mon, Mar 29, 2021 at 6:27 AM Xin Ji wrote: > > On Thu, Mar 25, 2021 at 02:19:23PM -0400, Sean Paul wrote: > > On Fri, Mar 19, 2021 at 2:35 AM Xin Ji wrote: > > > > > > Add HDCP feature, enable HDCP function through chip internal key > > > and downstre

Re: [PATCH v6 4/5] drm/bridge: anx7625: add HDCP support

2021-03-25 Thread Sean Paul
On Fri, Mar 19, 2021 at 2:35 AM Xin Ji wrote: > > Add HDCP feature, enable HDCP function through chip internal key > and downstream's capability. > > Signed-off-by: Xin Ji > --- > drivers/gpu/drm/bridge/analogix/anx7625.c | 147 ++ > drivers/gpu/drm/bridge/analogix/anx7625.h

Re: [Freedreno] [PATCH v2 2/2] drm/msm/dp: add supported max link rate specified from dtsi

2021-02-22 Thread Sean Paul
On Mon, Feb 22, 2021 at 11:31 AM wrote: > > On 2021-02-19 14:46, Stephen Boyd wrote: > > Quoting khs...@codeaurora.org (2021-02-19 08:39:38) > >> On 2021-02-18 15:02, Stephen Boyd wrote: > >> > Quoting Kuogee Hsieh (2021-02-18 12:55:04) > >> >> Allow supported link rate to be limited to the value

Re: [Intel-gfx] [RFC v2 13/20] drm/i915/dp: Extract drm_dp_downstream_read_info()

2020-08-21 Thread Sean Paul
ct that downstream port caps can be either 1 byte or 4 bytes > long. We can actually skip fixing the max_clock/max_bpc helpers here > since they all check for DP_DETAILED_CAP_INFO_AVAILABLE anyway. > * Fix ret code check for drm_dp_dpcd_read > Thanks for sorting this out! Reviewed-by:

Re: [RFC 19/20] drm/i915/dp: Extract drm_dp_read_dpcd_caps()

2020-08-19 Thread Sean Paul
ret; > + > + ret = drm_dp_dpcd_read(aux, DP_DPCD_REV, dpcd, DP_RECEIVER_CAP_SIZE); > + if (ret != DP_RECEIVER_CAP_SIZE || dpcd[DP_DPCD_REV] == 0) > + return -EIO; > + > + ret = drm_dp_read_extended_dpcd_caps(aux, dpcd); > + if (ret <

Re: [RFC 16/20] drm/i915/dp: Extract drm_dp_get_sink_count()

2020-08-19 Thread Sean Paul
rn false; > > - /* > - * Sink count can change between short pulse hpd hence > - * a member variable in intel_dp will track any changes > - * between short pulse interrupts. > - */ I think you could probably keep this comment and

Re: [RFC 15/20] drm/i915/dp: Extract drm_dp_has_sink_count()

2020-08-19 Thread Sean Paul
can use them as well. > > Note that this also starts using intel_dp_has_sink_count() in > intel_dp_detect_dpcd(), which is a functional change. > Reviewed-by: Sean Paul > Signed-off-by: Lyude Paul > --- > drivers/gpu/drm/drm_dp_helper.c | 22 +

Re: [RFC 13/20] drm/i915/dp: Extract drm_dp_downstream_read_info()

2020-08-19 Thread Sean Paul
read_info(struct drm_dp_aux *aux, > + const u8 dpcd[DP_RECEIVER_CAP_SIZE], > + u8 downstream_ports[DP_MAX_DOWNSTREAM_PORTS]); > int drm_dp_downstream_max_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE], > const u8 port_cap[4]); > int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE], > -- > 2.26.2 > > ___ > dri-devel mailing list > dri-de...@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [RFC 09/20] drm/i915/dp: Extract drm_dp_has_mst()

2020-08-19 Thread Sean Paul
On Tue, Aug 11, 2020 at 04:04:46PM -0400, Lyude Paul wrote: > Just a tiny drive-by cleanup, we can consolidate i915's code for > checking for MST support into a helper to be shared across drivers. > Reviewed-by: Sean Paul > Signed-off-by: Lyude Paul > --- > drivers/gp

[PATCH v8 12/17] drm/i915: Factor out HDCP shim functions from dp for use by dp_mst

2020-08-18 Thread Sean Paul
From: Sean Paul These functions are all the same for dp and dp_mst, so move them into a dedicated file for both sst and mst to use. Reviewed-by: Ramalingam C Signed-off-by: Sean Paul Link: https://patchwork.freedesktop.org/patch/msgid/20191203173638.94919-11-s...@poorly.run #v1 Link: https

Re: [PATCH] drm/msm/dpu: fix unitialized variable error

2020-08-11 Thread Sean Paul
On Tue, Aug 11, 2020 at 5:08 PM Rob Clark wrote: > > From: Rob Clark > > drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c:817 dpu_crtc_enable() error: > uninitialized symbol 'request_bandwidth'. > > Reported-by: kernel test robot Reviewed-by: Sean Paul > Signed-off-by: Rob

Re: [PATCH v2] tracing: Add trace_array_init_printk() to initialize instance trace_printk() buffers

2020-08-06 Thread Sean Paul
ubsystem to create their own tracing instance, and the > trace_array_printk() only writes into those instances. > > Add trace_array_init_printk() to initialize the trace_printk() buffers > without printing out the WARNING message. > > Reported-by: Sean Paul > Signed-off-by:

Re: tracing: Add trace_array_init_printk() to initialize instance trace_printk() buffers

2020-08-06 Thread Sean Paul
uire the subsystem to create their own tracing instance, and the > trace_array_printk() only writes into those instances. > > Add trace_array_init_printk() to initialize the trace_printk() buffers > without printing out the WARNING message. > > Reported-by: Sean Paul With the addition

Re: [PATCH v10 0/2] Panel rotation patches

2020-05-12 Thread Sean Paul
t; > >>>> > >>>> [1] drm_client_modeset_commit_atomic() > >>>> > >>>> Please also note that in a case of the scan-out rotation, plane's > >>>> coordinates need to be changed in accordance to the display's rotation.

Re: [PATCH] drm: Replace drm_modeset_lock/unlock_all with DRM_MODESET_LOCK_ALL_* helpers

2020-04-30 Thread Sean Paul
On Wed, Apr 29, 2020 at 4:57 AM Jani Nikula wrote: > > On Tue, 28 Apr 2020, Michal Orzel wrote: > > As suggested by the TODO list for the kernel DRM subsystem, replace > > the deprecated functions that take/drop modeset locks with new helpers. > > > > Signed-off-by: Michal Orzel > > --- > >

Re: [PATCH] MAINTAINERS: Add Mihail to Komeda DRM driver

2019-10-21 Thread Sean Paul
On Mon, Oct 21, 2019 at 03:01:56PM +, Mihail Atanassov wrote: > I'll be the main point of contact. > > Cc: James Qian Wang (Arm Technology China) > Cc: Liviu Dudau > Signed-off-by: Mihail Atanassov Acked-by: Sean Paul > --- > MAINTAINERS | 1 + > 1 f

Re: [PATCH] drm/msm/dsi: Implement reset correctly

2019-10-10 Thread Sean Paul
ct msm_dsi_host > *msm_host) > > /* dsi controller can only be reset while clocks are running */ > dsi_write(msm_host, REG_DSI_RESET, 1); > - wmb(); /* make sure reset happen */ > + msleep(20); /* make sure reset happen */ > dsi_write(msm_host

Re: [v8,2/4] drm/panel: set display info in panel attach

2019-10-08 Thread Sean Paul
nel with respect to the > > > > > chassis. > > > > > + */ > > > > > + int orientation; > > > > > + > > > > > + /** > > > > > + * @bus_formats > > > > > + * > > > > > + * Pixel data format on the wire. > > > > > + */ > > > > > + const u32 *bus_formats; > > > > > + > > > > > + /** > > > > > + * @num_bus_formats: > > > > > + * > > > > > + * Number of elements pointed to by @bus_formats > > > > > + */ > > > > > + unsigned int num_bus_formats; > > > > > + > > > > > + /** > > > > > + * @bus_flags: > > > > > + * > > > > > + * Additional information (like pixel signal polarity) for the > > > > > pixel > > > > > + * data on the bus. > > > > > + */ > > > > > + u32 bus_flags; > > > > > + > > > > > /** > > > > >* @list: > > > > >* > > > > > > Thanks for the review > > > > -- > > Sean Paul, Software Engineer, Google / Chromium OS -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v8 1/4] drm/panel: Add helper for reading DT rotation

2019-10-08 Thread Sean Paul
On Mon, Oct 07, 2019 at 03:12:00PM -0700, dbasehore . wrote: > On Mon, Oct 7, 2019 at 9:38 AM Sean Paul wrote: > > > > On Wed, Sep 25, 2019 at 03:58:30PM -0700, Derek Basehore wrote: > > > This adds a helper function for reading the rotation (panel > > >

Re: [PATCH v8 3/4] drm/connector: Split out orientation quirk detection

2019-10-07 Thread Sean Paul
or platforms that need quirks. > > Signed-off-by: Derek Basehore > Acked-by: Sam Ravnborg Reviewed-by: Sean Paul > --- > drivers/gpu/drm/drm_connector.c | 45 ++--- > drivers/gpu/drm/i915/display/icl_dsi.c | 2 +- > drivers/gpu/drm/i915/display/intel

Re: [PATCH v2 17/27] drm/dp_mst: Rename drm_dp_add_port and drm_dp_update_port

2019-09-25 Thread Sean Paul
e Deak > Cc: Ville Syrjälä > Cc: Harry Wentland > Cc: Daniel Vetter > Signed-off-by: Lyude Paul Reviewed-by: Sean Paul > --- > drivers/gpu/drm/drm_dp_mst_topology.c | 17 ++--- > 1 file changed, 10 insertions(+), 7 deletions(-) > > diff --git

Re: [PATCH v2 02/27] drm/dp_mst: Get rid of list clear in destroy_connector_work

2019-09-25 Thread Sean Paul
> Reviewed-by: Daniel Vetter > Signed-off-by: Lyude Paul Reviewed-by: Sean Paul > --- > drivers/gpu/drm/drm_dp_mst_topology.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c > b/drivers/gpu/drm/drm_dp_mst_topolog

Re: [PATCH 09/10] drm/msm/dpu: async commit support

2019-09-03 Thread Sean Paul
On Thu, Aug 29, 2019 at 09:45:17AM -0700, Rob Clark wrote: > From: Rob Clark > > In addition, moving to kms->flush_commit() lets us drop the only user > of kms->commit(). > > Signed-off-by: Rob Clark Reviewed-by: Sean Paul > --- > drivers/gpu/drm/ms

Re: [PATCH 07/10] drm/msm: split power control from prepare/complete_commit

2019-09-03 Thread Sean Paul
So these will no longer be > a good place to enable/disable clocks needed for hw access. > > Signed-off-by: Rob Clark Reviewed-by: Sean Paul > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 17 ++--- > drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 19 ++

Re: [PATCH 1/9] drm/msm/dpu: unwind async commit handling

2019-08-29 Thread Sean Paul
Rob Clark Reviewed-by: Sean Paul > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c| 41 ++--- > drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h| 3 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 39 +++- > drivers/gpu/drm/msm/disp/dpu1/dpu_enco

Re: [PATCH] drm/modes: Fix unterminated strncpy

2019-07-30 Thread Sean Paul
e: DRM_DISPLAY_MODE_LEN)? This still seems unsafe. Sean > } else { > ret = drm_mode_parse_cmdline_res_mode(name, mode_end, > parse_extras, > -- > 2.20.1 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v3 04/10] drm: Convert connector_helper_funcs->atomic_check to accept drm_atomic_state

2019-05-16 Thread Sean Paul
On Thu, May 16, 2019 at 03:00:01PM +0300, Laurent Pinchart wrote: > Hi Sean, > > On Mon, May 13, 2019 at 10:38:58AM -0400, Sean Paul wrote: > > On Sat, May 11, 2019 at 3:12 PM Laurent Pinchart wrote: > > > On Thu, May 02, 2019 at 03:49:46PM -0400, Sean Paul wrote

Re: [PATCH 5/5] ARM: dts: rockchip: Add HDMI i2c unwedging for rk3288-veyron

2019-05-15 Thread Sean Paul
On Thu, May 02, 2019 at 03:53:36PM -0700, Douglas Anderson wrote: > Veyron uses the builtin i2c controller that's part of dw-hdmi. Hook > up the unwedging feature. > > Signed-off-by: Douglas Anderson Reviewed-by: Sean Paul > --- > > arch/arm/boot/dts/rk3288-veyron.d

Re: [PATCH 4/5] ARM: dts: rockchip: Add unwedge pinctrl entries for dw_hdmi on rk3288

2019-05-15 Thread Sean Paul
mes = "default", "unwedge"; > pinctrl-0 = <_ddc>; > pinctrl-1 = <_ddc_unwedge>; > > Note that this isn't added by default because some boards may choose > to mux i2c5 for their DDC bus (if that is more tested for them). > > Signed-off-by: Do

Re: [PATCH 3/5] ARM: dts: rockchip: Switch to builtin HDMI DDC bus on rk3288-veyron

2019-05-15 Thread Sean Paul
it makes sense to use dw_hdmi's builtin I2C. Maybe eventually we > can get HDCP negotiation working. > > Signed-off-by: Douglas Anderson Reviewed-by: Sean Paul > --- > > arch/arm/boot/dts/rk3288-veyron.dtsi | 11 ++- > 1 file changed, 2 insertions(+), 9 deletion

Re: [PATCH 2/5] drm/msm/dpu: Integrate interconnect API in MDSS

2019-05-13 Thread Sean Paul
} > dpu_mdss->mmio_len = resource_size(res); > > + ret = dpu_mdss_parse_data_bus_icc_path(dev, dpu_mdss); > + if (ret) > + return ret; > + > mp = _mdss->mp; > ret = msm_dss_parse_clock(pdev, mp); > if (ret) { > @@ -232,14 +273,14 @@ int dpu_mdss_init(struct drm_device *dev) > irq_set_chained_handler_and_data(irq, dpu_mdss_irq, >dpu_mdss); > > + priv->mdss = _mdss->base; > + > pm_runtime_enable(dev->dev); > > pm_runtime_get_sync(dev->dev); > dpu_mdss->hwversion = readl_relaxed(dpu_mdss->mmio); > pm_runtime_put_sync(dev->dev); > > - priv->mdss = _mdss->base; > - > return ret; > > irq_error: > -- > 2.20.1 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v3 04/10] drm: Convert connector_helper_funcs->atomic_check to accept drm_atomic_state

2019-05-13 Thread Sean Paul
On Sat, May 11, 2019 at 3:12 PM Laurent Pinchart wrote: > > Hi Sean, > > Thank you for the patch. > Hey Laurent, Thanks for looking! > On Thu, May 02, 2019 at 03:49:46PM -0400, Sean Paul wrote: > > From: Sean Paul > > > > Everyone who implements connecto

Re: [PATCH] drm/msm/a6xx: No zap shader is not an error

2019-05-08 Thread Sean Paul
mostly* handled, but missed > clearing 'ret' resulting that hw_init() returned an error on these > devices. > > Fixes: abccb9fe3267 drm/msm/a6xx: Add zap shader load > Signed-off-by: Rob Clark Reviewed-by: Sean Paul > --- > drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 1 + > 1 file

Re: [PATCH v3 5/5] drm: don't block fb changes for async plane updates

2019-05-07 Thread Sean Paul
ot; so it's more clear what you're referring to here? > + * and new_state. This is required because prepare and cleanup calls > + * are performed on the new_state object, then to cleanup the old > + * framebuffer, it needs to be placed inside the new_state object. I'd change this bit to: * This is required since cleanup for async commits is performed on * the new state, rather than old state like for traditional commits. * Since we want to give up the reference on the current (old) fb instead * of our brand new one, swap them in the driver during the async commit. > + * >* FIXME: >* - It only works for single plane updates >* - Async Pageflips are not supported yet > -- > 2.20.1 > -- Sean Paul, Software Engineer, Google / Chromium OS

[PATCH v3 05/10] drm: Add helpers to kick off self refresh mode in drivers

2019-05-02 Thread Sean Paul
From: Sean Paul This patch adds a new drm helper library to help drivers implement self refresh. Drivers choosing to use it will register crtcs and will receive callbacks when it's time to enter or exit self refresh mode. In its current form, it has a timer which will trigger after a driver

[PATCH v3 01/10] drm: Add atomic variants of enable/disable to encoder helper funcs

2019-05-02 Thread Sean Paul
From: Sean Paul This patch adds atomic_enable and atomic_disable callbacks to the encoder helpers. This will allow encoders to make informed decisions in their start-up/shutdown based on the committed state. Aside from the new hooks, this patch also introduces the new signature for .atomic_

[PATCH v3 03/10] drm: Add atomic variants for bridge enable/disable

2019-05-02 Thread Sean Paul
From: Sean Paul This patch adds atomic variants for all of pre_enable/enable/disable/post_disable bridge functions. These will be called from the appropriate atomic helper functions. If the bridge driver doesn't implement the atomic version of the function, we will fall back to the vanilla

[PATCH v3 10/10] drm/rockchip: Use drm_atomic_helper_commit_tail_rpm

2019-05-02 Thread Sean Paul
From: Sean Paul Now that we use the drm psr helpers, we no longer need to hand-roll our atomic_commit_tail implementation. So use the helper Changes in v2: - None Changes in v3: - None Link to v1: https://patchwork.freedesktop.org/patch/msgid/20190228210939.83386-6-s...@poorly.run Link to v2

[PATCH v3 08/10] drm/rockchip: Use the helpers for PSR

2019-05-02 Thread Sean Paul
From: Sean Paul Instead of rolling our own implementation for tracking when PSR should be [in]active, use the new self refresh helpers to do the heavy lifting. Changes in v2: - updated to reflect changes made in the helpers Changes in v3: - use the new atomic hooks to inspect crtc state instead

[PATCH v3 09/10] drm/rockchip: Don't fully disable vop on self refresh

2019-05-02 Thread Sean Paul
From: Sean Paul Instead of fully disabling and re-enabling the vop on self refresh transitions, only disable the active windows. This will speed up self refresh exits substantially and is still a power-savings win. This patch integrates portions of Zain's patch from here: https

Re: [PATCH RESEND] drm/msm: Truncate the buffer object name if the copy from user failed

2019-03-04 Thread Sean Paul
by: Dan Carpenter > Signed-off-by: Jordan Crouse Reviewed-by: Sean Paul > --- > > drivers/gpu/drm/msm/msm_drv.c | 5 - > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c > index 87eae44..906b2bb

Re: [PATCH] drm: fix spelling mistake "intead" -> "instead"

2019-03-04 Thread Sean Paul
e.edid_firmware is deprecated, please use > drm.edid_firmware intead.\n"); > + DRM_NOTE("drm_kms_firmware.edid_firmware is deprecated, please use > drm.edid_firmware instead.\n"); > > return __drm_set_edid_firmware_path(val); > } > -- > 2.20.1 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH 1/3] drm/mediatek: move mipi_dsi_host_register to probe

2019-02-14 Thread Sean Paul
\n"); > - return -EPROBE_DEFER; > + ret = -EPROBE_DEFER; > + goto err_unregister_host; > } > > init_waitqueue_head(>irq_wait_queue); > > platform_set_drvdata(pdev, dsi); > > - return component_add(>dev, _dsi_component_ops); > + ret = component_add(>dev, _dsi_component_ops); > + if (ret) { > + ret = -EPROBE_DEFER; > + goto err_unregister_host; > + } > + > + return 0; > + > +err_unregister_host: > + mipi_dsi_host_unregister(>host); > + return ret; > } > > static int mtk_dsi_remove(struct platform_device *pdev) > -- > 2.20.1 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH] drm/mediatek: add mt8183 dpi support

2019-02-14 Thread Sean Paul
}, > + { .compatible = "mediatek,mt8183-dpi", Do you need to add this compatible value to the dt binding? If you can do as CK suggested, maybe you don't need this at all (and mt8183 can use the mt8173 compatible string in the dt). Sean > + .data = _conf, > + }, > { }, > }; > > -- > 2.12.5 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH] MAINTAINERS: update entry for drm/msm

2019-02-13 Thread Sean Paul
dri-devel wrote: > > > > We've moved the tree to a shared gitlab tree, so that Sean can help out > > > > with maintainer duties. > > > > > > > > Cc: Sean Paul > > > > Signed-off-by: Rob Clark > > > > --- > > > > I

Re: [PATCH] MAINTAINERS: update entry for drm/msm

2019-02-13 Thread Sean Paul
On Wed, Feb 13, 2019 at 10:10:44AM -0500, Rob Clark via dri-devel wrote: > We've moved the tree to a shared gitlab tree, so that Sean can help out > with maintainer duties. > > Cc: Sean Paul Acked-by: Sean Paul > Signed-off-by: Rob Clark > --- > I can include this patch

Re: [PATCH] drm/dp_mst: Remove rebase-detritus in VCPI helper kernel-docs

2019-02-07 Thread Sean Paul
Inline literal > start-string without end-string. > > So, fix that by just removing the kerneldoc comments. > > Signed-off-by: Lyude Paul Reviewed-by: Sean Paul > Fixes: 022debad063e ("drm/atomic: Add drm_atomic_state->duplicated") > Cc: Daniel Vetter > ---

Re: [PATCH v1 0/19] drm/panel: drmP.h removal and DRM_DEV*

2019-01-31 Thread Sean Paul
/panel/panel-seiko-43wvf1g.c| 18 ++-- > drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c| 66 ++- > drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c| 27 +++--- > drivers/gpu/drm/panel/panel-simple.c | 22 +++-- > drivers/gpu/drm/panel/panel-sitronix-st7789v.c | 16 ++-- > drivers/gpu/drm/panel/panel-truly-nt35597.c| 10 ++- > 23 files changed, 375 insertions(+), 251 deletions(-) -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v5 0/8] drm/msm/dsi: Get PHY ref clocks from the DT

2019-01-31 Thread Sean Paul
-- > > arch/arm64/boot/dts/qcom/msm8916.dtsi | 5 +-- > > arch/arm64/boot/dts/qcom/sdm845.dtsi | 10 +++--- > > drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c| 20 +-- > > drivers/gpu/drm/msm/dsi/pll/dsi_pll_14nm.c| 23 +--- > > dr

Re: [PATCH AUTOSEL 4.19 083/258] drm: Move drm_mode_setcrtc() local re-init to failure path

2019-01-28 Thread Sean Paul
On Mon, Jan 28, 2019 at 10:56:29AM -0500, Sasha Levin wrote: > From: Sean Paul > > [ Upstream commit c232e9f41b136c141df9938024e521191a7b910d ] > > Instead of always re-initializing the variables we need to clean up on > out, move the re-initialization into the branch that

Re: [PATCH v5 6/6] drm: remove drmP.h from drm_modeset_helper.h

2019-01-24 Thread Sean Paul
to know what it's hung up on so we can avoid these refactor breakages. Sean > > Sam -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v5 6/6] drm: remove drmP.h from drm_modeset_helper.h

2019-01-24 Thread Sean Paul
moval. > > > > Signed-off-by: Sam Ravnborg > > Reviewed-by: Laurent Pinchart > > Cc: Maarten Lankhorst > > Cc: Maxime Ripard > > Cc: Sean Paul > > Cc: David Airlie > > Cc: Daniel Vetter > > Merge the previous 5 patches from this series,

Re: [PATCH v4 RESEND] drm/panel: add Kingdisplay kd097d04 panel driver

2019-01-24 Thread Sean Paul
- lanes per dsi interface to 4 (two interfaces). Matches how tegra > > > and pending rockchip dual-dsi handle (dual-)dsi lanes > > > - spdx header instead of license boilerplate > > > > > > Signed-off-by: Nickey Yang > > > Signed-off-by: Heiko S

Re: [PATCH resend] drm/panel: panel-innolux: set display off in innolux_panel_unprepare

2019-01-22 Thread Sean Paul
On Fri, Jan 18, 2019 at 12:58:10PM -0500, Sean Paul wrote: > On Wed, Jan 9, 2019 at 1:59 AM Hsin-Yi, Wang wrote: > > > > Move mipi_dsi_dcs_set_display_off() from innolux_panel_disable() > > to innolux_panel_unprepare(), so they are consistent with >

Re: [Freedreno] [v3] drm/msm/dpu: Clean up dpu hw interrupts

2019-01-22 Thread Sean Paul
*HDMI etc. > - * @intr: HW interrupt handle > - * @mask: Returning the interrupt source MASK > - * @return: 0 for success, otherwise failure > - */ > - int (*get_valid_interrupts)( > - struct dpu_hw_intr *intr, > - uint32_t *mask); > }; > > /** > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project > > ___ > Freedreno mailing list > freedr...@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/freedreno -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [Freedreno] [v1] drm/msm/dpu: Cleanup dpu plane interface

2019-01-22 Thread Sean Paul
in the next atomic check > - * @plane: Pointer to DRM plane object > - * @enable: Boolean to set/unset the flag > - */ > -void dpu_plane_set_revalidate(struct drm_plane *plane, bool enable); > - > #endif /* _DPU_PLANE_H_ */ > -- > The Qualcomm Innovation Center, Inc. is a member of

Re: [Freedreno] [v1] drm/msm/dpu: Remove unused enum and comment from dpu mdss

2019-01-22 Thread Sean Paul
oject > > ___ > Freedreno mailing list > freedr...@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/freedreno -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH] drm/msm/dpu: Convert to a chained irq chip

2019-01-22 Thread Sean Paul
> lock_acquire+0x244/0x360 > _raw_spin_lock+0x64/0xa0 > handle_level_irq+0x34/0x26c > generic_handle_irq+0x44/0x5c > dpu_mdss_irq+0x64/0xec > irq_forced_thread_fn+0x58/0x9c > irq_thread+0x120/0x1dc > kthread+0x248/0x260 > ret_from_fork+0x10/0x18 >

Re: [PATCH resend] drm/panel: panel-innolux: set display off in innolux_panel_unprepare

2019-01-18 Thread Sean Paul
ds to be in cmd mode to be able to send commands > (e.g. mipi_dsi_dcs_set_display_off() and mipi_dsi_dcs_enter_sleep_mode()), > so we need these functions to be called after the switch to cmd mode happens, > i.e. in innolux_panel_unprepare. > > > Signed-off-by: Hsin-Yi,

Re: [PATCH v4 9/9] drm/bridge: cdns: Convert to phy framework

2019-01-17 Thread Sean Paul
: Maxime Ripard Aside from the wakeup change mentioned in patch 8, Acked-by: Sean Paul > --- > drivers/gpu/drm/bridge/Kconfig| 1 +- > drivers/gpu/drm/bridge/cdns-dsi.c | 485 +++ > drivers/phy/cadence/cdns-dphy.c | 2 +- > 3 files changed, 6

Re: [PATCH v4 8/9] phy: Add Cadence D-PHY support

2019-01-17 Thread Sean Paul
k); > + > + if (dphy->ops->probe) { > + ret = dphy->ops->probe(dphy); > + if (ret) > + return ret; > + } > + > + dphy->phy = devm_phy_create(>dev, NULL, _dphy_ops); > + if (IS_ERR(dphy->phy)) { > + dev_err(>dev, "failed to create PHY\n"); > + if (dphy->ops->remove) > + dphy->ops->remove(dphy); > + return PTR_ERR(dphy->phy); > + } > + > + phy_set_drvdata(dphy->phy, dphy); > + phy_provider = devm_of_phy_provider_register(>dev, > of_phy_simple_xlate); > + > + return PTR_ERR_OR_ZERO(phy_provider); > +} > + > +static int cdns_dphy_remove(struct platform_device *pdev) > +{ > + struct cdns_dphy *dphy = dev_get_drvdata(>dev); > + > + if (dphy->ops->remove) > + dphy->ops->remove(dphy); > + > + return 0; > +} > + > +static const struct of_device_id cdns_dphy_of_match[] = { > + { .compatible = "cdns,dphy", .data = _dphy_ops }, > + { /* sentinel */ }, > +}; > +MODULE_DEVICE_TABLE(of, cdns_dphy_of_match); > + > +static struct platform_driver cdns_dphy_platform_driver = { > + .probe = cdns_dphy_probe, > + .remove = cdns_dphy_remove, > + .driver = { > + .name = "cdns-mipi-dphy", > + .of_match_table = cdns_dphy_of_match, > + }, > +}; > +module_platform_driver(cdns_dphy_platform_driver); > + > +MODULE_AUTHOR("Maxime Ripard "); > +MODULE_DESCRIPTION("Cadence MIPI D-PHY Driver"); > +MODULE_LICENSE("GPL"); > -- > git-series 0.9.1 > ___ > dri-devel mailing list > dri-de...@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v4 6/9] drm/bridge: cdns: Separate DSI and D-PHY configuration

2019-01-17 Thread Sean Paul
% 32) > return MODE_H_ILLEGAL; > > - nlanes = output->dev->lanes; > - > - ret = cdns_dsi_mode2cfg(dsi, mode, _cfg, _cfg, true); > + ret = cdns_dsi_check_conf(dsi, mode, _cfg, _cfg, true); > if (ret) > - return MODE_CLOCK_RANGE; > + return MODE_BAD; > > return MODE_OK; > } > @@ -990,7 +1030,7 @@ static void cdns_dsi_bridge_enable(struct drm_bridge > *bridge) > bpp = mipi_dsi_pixel_format_to_bpp(output->dev->format); > nlanes = output->dev->lanes; > > - WARN_ON_ONCE(cdns_dsi_mode2cfg(dsi, mode, _cfg, _cfg, false)); > + WARN_ON_ONCE(cdns_dsi_check_conf(dsi, mode, _cfg, _cfg, > false)); > > cdns_dsi_hs_init(dsi, _cfg); > cdns_dsi_init_link(dsi); > -- > git-series 0.9.1 -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v3 2/2] drm/panel: Add Feiyang FY07024DI26A30-D MIPI-DSI LCD panel

2018-12-20 Thread Sean Paul
On Tue, Dec 18, 2018 at 05:06:38PM +0530, Jagan Teki wrote: > On Sat, Dec 15, 2018 at 3:32 AM Sean Paul wrote: > > > > On Sat, Dec 15, 2018 at 02:11:01AM +0530, Jagan Teki wrote: > > > Feiyang FY07024DI26A30-D is 1024x600, 4-lane MIPI-DSI LCD panel. >

Re: [PATCH v3 2/2] drm/panel: Add Feiyang FY07024DI26A30-D MIPI-DSI LCD panel

2018-12-14 Thread Sean Paul
= MIPI_DSI_MODE_VIDEO_BURST; > + dsi->format = MIPI_DSI_FMT_RGB888; > + dsi->lanes = 4; > + > + ret = mipi_dsi_attach(dsi); > + if (ret < 0) > + goto panel_remove; > + > + return ret; > + > +panel_remove: > + drm_panel_remove(>panel); > +put_backlight: > + if (ctx->backlight) > + put_device(>backlight->dev); > + > + return ret; > +} > + > +static int feiyang_dsi_remove(struct mipi_dsi_device *dsi) > +{ > + struct feiyang *ctx = mipi_dsi_get_drvdata(dsi); > + > + mipi_dsi_detach(dsi); > + drm_panel_remove(>panel); > + > + if (ctx->backlight) > + put_device(>backlight->dev); > + > + return 0; > +} > + > +static const struct of_device_id feiyang_of_match[] = { > + { .compatible = "feiyang,fy07024di26a30d", }, > + { } > +}; > +MODULE_DEVICE_TABLE(of, feiyang_of_match); > + > +static struct mipi_dsi_driver feiyang_driver = { > + .probe = feiyang_dsi_probe, > + .remove = feiyang_dsi_remove, > + .driver = { > + .name = "feiyang-fy07024di26a30d", > + .of_match_table = feiyang_of_match, > + }, > +}; > +module_mipi_dsi_driver(feiyang_driver); > + > +MODULE_AUTHOR("Jagan Teki "); > +MODULE_DESCRIPTION("Feiyang FY07024DI26A30-D MIPI-DSI LCD panel"); > +MODULE_LICENSE("GPL"); > -- > 2.18.0.321.gffc6fa0e3 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [DPU PATCH ] drm/msm/dpu: Ignore alpha for XBGR8888 format

2018-12-14 Thread Sean Paul
RGBA, > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v2 11/12] drm/panel: Add Feiyang FY07024DI26A30-D MIPI-DSI LCD panel

2018-12-14 Thread Sean Paul
On Fri, Dec 14, 2018 at 04:35:11PM +0530, Jagan Teki wrote: > On Fri, Dec 14, 2018 at 1:25 AM Sean Paul wrote: > > > > On Fri, Dec 14, 2018 at 12:56:03AM +0530, Jagan Teki wrote: > > > On Thu, Dec 13, 2018 at 8:37 PM Sean Paul wrote: > > > > > > &g

Re: [PATCH v2 11/12] drm/panel: Add Feiyang FY07024DI26A30-D MIPI-DSI LCD panel

2018-12-13 Thread Sean Paul
On Fri, Dec 14, 2018 at 12:56:03AM +0530, Jagan Teki wrote: > On Thu, Dec 13, 2018 at 8:37 PM Sean Paul wrote: > > > > On Fri, Nov 16, 2018 at 10:09:15PM +0530, Jagan Teki wrote: > > > Feiyang FY07024DI26A30-D is 1024x600, 4-lane MIPI-DSI LCD panel. >

Re: [PATCH v2 11/12] drm/panel: Add Feiyang FY07024DI26A30-D MIPI-DSI LCD panel

2018-12-13 Thread Sean Paul
PI_DSI_FMT_RGB888; > + dsi->lanes = 4; > + > + ret = mipi_dsi_attach(dsi); > + if (ret < 0) > + goto panel_remove; > + > + return ret; > + > +panel_remove: > + drm_panel_remove(>panel); > +put_backlight: > + if (ctx->backlight) > + put_device(>backlight->dev); > + > + return ret; > +} > + > +static int feiyang_dsi_remove(struct mipi_dsi_device *dsi) > +{ > + struct feiyang *ctx = mipi_dsi_get_drvdata(dsi); > + > + mipi_dsi_detach(dsi); > + drm_panel_remove(>panel); > + > + if (ctx->backlight) > + put_device(>backlight->dev); > + > + return 0; > +} > + > +static const struct of_device_id feiyang_of_match[] = { > + { .compatible = "feiyang,fy07024di26a30d", }, > + { } > +}; > +MODULE_DEVICE_TABLE(of, feiyang_of_match); > + > +static struct mipi_dsi_driver feiyang_driver = { > + .probe = feiyang_dsi_probe, > + .remove = feiyang_dsi_remove, > + .driver = { > + .name = "feiyang-fy07024di26a30d", > + .of_match_table = feiyang_of_match, > + }, > +}; > +module_mipi_dsi_driver(feiyang_driver); > + > +MODULE_AUTHOR("Jagan Teki "); > +MODULE_DESCRIPTION("Feiyang FY07024DI26A30-D MIPI-DSI LCD panel"); > +MODULE_LICENSE("GPL"); > -- > 2.18.0.321.gffc6fa0e3 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [DPU PATCH] drm/msm/dpu: Fix vblank refcount mismatch

2018-12-06 Thread Sean Paul
;enabled; > dpu_crtc->enabled = false; > > + if (crtc_en && dpu_crtc->vblank_requested) > + _dpu_crtc_vblank_enable_no_lock(dpu_crtc, false); > + > if (atomic_read(_crtc->frame_pending)) { > trace_dpu_crtc_disable_frame_pending(DRMID(crtc), >atomic_read(_crtc->frame_pending)); > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [DPU PATCH ] drm/msm/dpu: Fix clock issue after bind failure

2018-12-06 Thread Sean Paul
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project > -- Sean Paul, Software Engineer, Google / Chromium OS

[PATCH v2 09/24] drm/msm: dpu: Remove dpu_power_handle

2018-11-16 Thread Sean Paul
From: Sean Paul Now that we don't have any event handlers, remove dpu_power_handle! Changes in v2: - None Reviewed-by: Jeykumar Sankaran Signed-off-by: Sean Paul --- drivers/gpu/drm/msm/Makefile | 1 - drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 11 -- drivers/gpu

[PATCH v2 09/24] drm/msm: dpu: Remove dpu_power_handle

2018-11-16 Thread Sean Paul
From: Sean Paul Now that we don't have any event handlers, remove dpu_power_handle! Changes in v2: - None Reviewed-by: Jeykumar Sankaran Signed-off-by: Sean Paul --- drivers/gpu/drm/msm/Makefile | 1 - drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 11 -- drivers/gpu

Re: [PATCH 4/6] drm/bridge: ti-sn65dsi86: Remove the mystery delay

2018-10-25 Thread Sean Paul
annel > was up. In theory that would let me detect _exactly_ when I could > continue and do link training. Unfortunately even if I did an aux > transfer w/out waiting I couldn't see any errors. Possibly I could > keep looping over link training until it came back with success, but &

Re: [PATCH 4/6] drm/bridge: ti-sn65dsi86: Remove the mystery delay

2018-10-25 Thread Sean Paul
annel > was up. In theory that would let me detect _exactly_ when I could > continue and do link training. Unfortunately even if I did an aux > transfer w/out waiting I couldn't see any errors. Possibly I could > keep looping over link training until it came back with success, but &

Re: [PATCH 4.18 74/88] drm/atomic: Use drm_drv_uses_atomic_modeset() for debugfs creation

2018-09-27 Thread Sean Paul
> > > > to > > > > > make the debugfs nodes for atomic instead of checking DRIVER_ATOMIC, > > > > > as > > > > > the former isn't an accurate representation of whether or not the > > > > > driver > > > >

Re: [PATCH 4.18 74/88] drm/atomic: Use drm_drv_uses_atomic_modeset() for debugfs creation

2018-09-27 Thread Sean Paul
> > > > to > > > > > make the debugfs nodes for atomic instead of checking DRIVER_ATOMIC, > > > > > as > > > > > the former isn't an accurate representation of whether or not the > > > > > driver > > > >

Re: [lkp-robot] [fs] 3deb642f0d: will-it-scale.per_process_ops -8.8% regression

2018-06-22 Thread Sean Paul
On Fri, Jun 22, 2018 at 7:01 AM Al Viro wrote: > > On Fri, Jun 22, 2018 at 12:00:14PM +0200, Christoph Hellwig wrote: > > And a version with select() also covered: > > For fuck sake, if you want vfs_poll() inlined, *make* *it* *inlined*. > Is there any reason for not doing that other than

Re: [lkp-robot] [fs] 3deb642f0d: will-it-scale.per_process_ops -8.8% regression

2018-06-22 Thread Sean Paul
On Fri, Jun 22, 2018 at 7:01 AM Al Viro wrote: > > On Fri, Jun 22, 2018 at 12:00:14PM +0200, Christoph Hellwig wrote: > > And a version with select() also covered: > > For fuck sake, if you want vfs_poll() inlined, *make* *it* *inlined*. > Is there any reason for not doing that other than

Re: [PATCH v2 1/5] media: cec-notifier: Get notifier by device and connector name

2018-05-18 Thread Sean Paul
xist, then allocate a new notifier struct and return a > + * pointer to that new struct. You might also want to cover the case where you have multiple named notifiers for the same device. It looks like it just grabs the first one? Sean > + * > + * Return NULL if the memory could not be allocated. > + */ > +static inline struct cec_notifier *cec_notifier_get(struct device *dev) > +{ > + return cec_notifier_get_conn(dev, NULL); > +} > + > +/** > * cec_notifier_phys_addr_invalidate() - set the physical address to INVALID > * > * @n: the CEC notifier > -- > 2.7.4 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v2 1/5] media: cec-notifier: Get notifier by device and connector name

2018-05-18 Thread Sean Paul
then allocate a new notifier struct and return a > + * pointer to that new struct. You might also want to cover the case where you have multiple named notifiers for the same device. It looks like it just grabs the first one? Sean > + * > + * Return NULL if the memory could not be allocated. > + */ > +static inline struct cec_notifier *cec_notifier_get(struct device *dev) > +{ > + return cec_notifier_get_conn(dev, NULL); > +} > + > +/** > * cec_notifier_phys_addr_invalidate() - set the physical address to INVALID > * > * @n: the CEC notifier > -- > 2.7.4 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v5 4/4] drm/rockchip: support dp training outside dp firmware

2018-05-18 Thread Sean Paul
On Fri, May 18, 2018 at 10:52:17AM +0200, Heiko Stuebner wrote: > Am Freitag, 18. Mai 2018, 03:45:46 CEST schrieb Brian Norris: > > On Thu, May 17, 2018 at 6:41 PM, hl <h...@rock-chips.com> wrote: > > > On Thursday, May 17, 2018 09:51 PM, Sean Paul wrote: > > >>

Re: [PATCH v5 4/4] drm/rockchip: support dp training outside dp firmware

2018-05-18 Thread Sean Paul
On Fri, May 18, 2018 at 10:52:17AM +0200, Heiko Stuebner wrote: > Am Freitag, 18. Mai 2018, 03:45:46 CEST schrieb Brian Norris: > > On Thu, May 17, 2018 at 6:41 PM, hl wrote: > > > On Thursday, May 17, 2018 09:51 PM, Sean Paul wrote: > > >> On Thu, May 17, 2018

Re: [PATCH v5 4/4] drm/rockchip: support dp training outside dp firmware

2018-05-17 Thread Sean Paul
C 0x8000 > > +/* register CM_VID_CTRL */ > +#define LANE_VID_REF_CYC(x)(((x) & (BIT(24) - 1)) << 0) > +#define NMVID_MEAS_TOLERANCE(x)(((x) & 0xf) << 24) > + > +/* register DP_TX_PHY_CONFIG_REG */ &g

Re: [PATCH v5 4/4] drm/rockchip: support dp training outside dp firmware

2018-05-17 Thread Sean Paul
ANE_VID_REF_CYC(x)(((x) & (BIT(24) - 1)) << 0) > +#define NMVID_MEAS_TOLERANCE(x)(((x) & 0xf) << 24) > + > +/* register DP_TX_PHY_CONFIG_REG */ > +#define DP_TX_PHY_TRAINING_ENABLE(x) ((x) & 1) > +#define DP_TX_PHY_TRAINING_TYPE_PRBS7 (0 << 1) > +#define DP_TX_PHY_TRAINING_TYPE_TPS1 (1 << 1) > +#define DP_TX_PHY_TRAINING_TYPE_TPS2 (2 << 1) > +#define DP_TX_PHY_TRAINING_TYPE_TPS3 (3 << 1) > +#define DP_TX_PHY_TRAINING_TYPE_TPS4 (4 << 1) > +#define DP_TX_PHY_TRAINING_TYPE_PLTPAT (5 << 1) > +#define DP_TX_PHY_TRAINING_TYPE_D10_2 (6 << 1) > +#define DP_TX_PHY_TRAINING_TYPE_HBR2CPAT (8 << 1) > +#define DP_TX_PHY_TRAINING_PATTERN(x) ((x) << 1) > +#define DP_TX_PHY_SCRAMBLER_BYPASS(x) (((x) & 1) << 5) > +#define DP_TX_PHY_ENCODER_BYPASS(x)(((x) & 1) << 6) > +#define DP_TX_PHY_SKEW_BYPASS(x) (((x) & 1) << 7) > +#define DP_TX_PHY_DISPARITY_RST(x) (((x) & 1) << 8) > +#define DP_TX_PHY_LANE0_SKEW(x)(((x) & 7) << 9) > +#define DP_TX_PHY_LANE1_SKEW(x)(((x) & 7) << 12) > +#define DP_TX_PHY_LANE2_SKEW(x)(((x) & 7) << 15) > +#define DP_TX_PHY_LANE3_SKEW(x)(((x) & 7) << 18) > +#define DP_TX_PHY_10BIT_ENABLE(x) (((x) & 1) << 21) > + > +/* register DP_FRAMER_GLOBAL_CONFIG */ > +#define NUM_LANES(x) ((x) & 3) > +#define SST_MODE (0 << 2) > +#define RG_EN (0 << 4) > +#define GLOBAL_EN BIT(3) > +#define NO_VIDEO BIT(5) > +#define ENC_RST_DISBIT(6) > +#define WR_VHSYNC_FALL BIT(7) > + > enum voltage_swing_level { > VOLTAGE_LEVEL_0, > VOLTAGE_LEVEL_1, > @@ -476,6 +510,7 @@ int cdn_dp_set_host_cap(struct cdn_dp_device *dp, u8 > lanes, bool flip); > int cdn_dp_event_config(struct cdn_dp_device *dp); > u32 cdn_dp_get_event(struct cdn_dp_device *dp); > int cdn_dp_get_hpd_status(struct cdn_dp_device *dp); > +int cdn_dp_reg_write(struct cdn_dp_device *dp, u16 addr, u32 val); > ssize_t cdn_dp_dpcd_write(struct cdn_dp_device *dp, u32 addr, > u8 *data, u16 len); > ssize_t cdn_dp_dpcd_read(struct cdn_dp_device *dp, u32 addr, > @@ -489,4 +524,5 @@ int cdn_dp_config_video(struct cdn_dp_device *dp); > int cdn_dp_audio_stop(struct cdn_dp_device *dp, struct audio_info *audio); > int cdn_dp_audio_mute(struct cdn_dp_device *dp, bool enable); > int cdn_dp_audio_config(struct cdn_dp_device *dp, struct audio_info *audio); > +int cdn_dp_software_train_link(struct cdn_dp_device *dp); > #endif /* _CDN_DP_REG_H */ > -- > 2.7.4 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v3 4/4] drm/rockchip: support dp training outside dp firmware

2018-05-14 Thread Sean Paul
> + * fail, keep firmware training as a fallback if sw training fails. > + */ > + ret = cdn_dp_software_train_link(dp); > + if (ret) { > + DRM_DEV_ERROR(dp->dev, > + "Failed to do software training %d\n", ret); > + goto do_fw_training; > + } > + ret = cdn_dp_reg_write(dp, SOURCE_HDTX_CAR, 0xf); > + if (ret) { > + DRM_DEV_ERROR(dp->dev, > + "Failed to write SOURCE_HDTX_CAR register %d\n", ret); > + goto do_fw_training; > + } > + dp->use_fw_training = false; > + return 0; > + > +do_fw_training: > + dp->use_fw_training = true; > + DRM_DEV_DEBUG_KMS(dp->dev, "use fw training\n"); > ret = cdn_dp_training_start(dp); > if (ret) { > DRM_DEV_ERROR(dp->dev, "Failed to start training %d\n", ret); > @@ -623,7 +650,7 @@ int cdn_dp_train_link(struct cdn_dp_device *dp) > > DRM_DEV_DEBUG_KMS(dp->dev, "rate:0x%x, lanes:%d\n", dp->link.rate, > dp->link.num_lanes); > - return ret; > + return 0; > } > > int cdn_dp_set_video_status(struct cdn_dp_device *dp, int active) > /snip -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v3 4/4] drm/rockchip: support dp training outside dp firmware

2018-05-14 Thread Sean Paul
back if sw training fails. > + */ > + ret = cdn_dp_software_train_link(dp); > + if (ret) { > + DRM_DEV_ERROR(dp->dev, > + "Failed to do software training %d\n", ret); > + goto do_fw_training; > + } > + ret = cdn_dp_reg_write(dp, SOURCE_HDTX_CAR, 0xf); > + if (ret) { > + DRM_DEV_ERROR(dp->dev, > + "Failed to write SOURCE_HDTX_CAR register %d\n", ret); > + goto do_fw_training; > + } > + dp->use_fw_training = false; > + return 0; > + > +do_fw_training: > + dp->use_fw_training = true; > + DRM_DEV_DEBUG_KMS(dp->dev, "use fw training\n"); > ret = cdn_dp_training_start(dp); > if (ret) { > DRM_DEV_ERROR(dp->dev, "Failed to start training %d\n", ret); > @@ -623,7 +650,7 @@ int cdn_dp_train_link(struct cdn_dp_device *dp) > > DRM_DEV_DEBUG_KMS(dp->dev, "rate:0x%x, lanes:%d\n", dp->link.rate, > dp->link.num_lanes); > - return ret; > + return 0; > } > > int cdn_dp_set_video_status(struct cdn_dp_device *dp, int active) > /snip -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v3 3/4] phy: rockchip-typec: support variable phy config value

2018-05-14 Thread Sean Paul
0x22 }, > + { 0x02, 0x2b } }, > + > + {{ 0x21, 0x00 }, > + { 0x12, 0x15 }, > + { 0x02, 0x22 }, > + {0,0 } }, > + > + {{ 0x15, 0x00 }, > + { 0x00, 0x15 }, > + {0,0 }, > + {0,0 } }, > +}; > + /snip -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v3 3/4] phy: rockchip-typec: support variable phy config value

2018-05-14 Thread Sean Paul
+ > + {{ 0x21, 0x00 }, > + { 0x12, 0x15 }, > + { 0x02, 0x22 }, > + {0,0 } }, > + > + {{ 0x15, 0x00 }, > + { 0x00, 0x15 }, > + {0,0 }, > + {0,0 } }, > +}; > + /snip -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v2 4/4] drm/rockchip: support dp training outside dp firmware

2018-05-11 Thread Sean Paul
enum voltage_swing_level { > VOLTAGE_LEVEL_0, > VOLTAGE_LEVEL_1, > @@ -476,6 +510,7 @@ int cdn_dp_set_host_cap(struct cdn_dp_device *dp, u8 > lanes, bool flip); > int cdn_dp_event_config(struct cdn_dp_device *dp); > u32 cdn_dp_get_event(struct cdn_dp_device *dp); > int cdn_dp_get_hpd_status(struct cdn_dp_device *dp); > +int cdn_dp_reg_write(struct cdn_dp_device *dp, u16 addr, u32 val); > ssize_t cdn_dp_dpcd_write(struct cdn_dp_device *dp, u32 addr, > u8 *data, u16 len); > ssize_t cdn_dp_dpcd_read(struct cdn_dp_device *dp, u32 addr, > @@ -489,4 +524,5 @@ int cdn_dp_config_video(struct cdn_dp_device *dp); > int cdn_dp_audio_stop(struct cdn_dp_device *dp, struct audio_info *audio); > int cdn_dp_audio_mute(struct cdn_dp_device *dp, bool enable); > int cdn_dp_audio_config(struct cdn_dp_device *dp, struct audio_info *audio); > +int cdn_dp_software_train_link(struct cdn_dp_device *dp); > #endif /* _CDN_DP_REG_H */ > -- > 2.7.4 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v2 4/4] drm/rockchip: support dp training outside dp firmware

2018-05-11 Thread Sean Paul
VEL_0, > VOLTAGE_LEVEL_1, > @@ -476,6 +510,7 @@ int cdn_dp_set_host_cap(struct cdn_dp_device *dp, u8 > lanes, bool flip); > int cdn_dp_event_config(struct cdn_dp_device *dp); > u32 cdn_dp_get_event(struct cdn_dp_device *dp); > int cdn_dp_get_hpd_status(struct cdn_dp_device *dp); > +int cdn_dp_reg_write(struct cdn_dp_device *dp, u16 addr, u32 val); > ssize_t cdn_dp_dpcd_write(struct cdn_dp_device *dp, u32 addr, > u8 *data, u16 len); > ssize_t cdn_dp_dpcd_read(struct cdn_dp_device *dp, u32 addr, > @@ -489,4 +524,5 @@ int cdn_dp_config_video(struct cdn_dp_device *dp); > int cdn_dp_audio_stop(struct cdn_dp_device *dp, struct audio_info *audio); > int cdn_dp_audio_mute(struct cdn_dp_device *dp, bool enable); > int cdn_dp_audio_config(struct cdn_dp_device *dp, struct audio_info *audio); > +int cdn_dp_software_train_link(struct cdn_dp_device *dp); > #endif /* _CDN_DP_REG_H */ > -- > 2.7.4 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v2 3/4] Documentation: bindings: add phy_config for Rockchip USB Type-C PHY

2018-05-11 Thread Sean Paul
ub-node is required for each port the phy provides. >The sub-node name is used to identify dp or usb3 port, >and shall be the following entries: > -- > 2.7.4 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v2 3/4] Documentation: bindings: add phy_config for Rockchip USB Type-C PHY

2018-05-11 Thread Sean Paul
for each port the phy provides. >The sub-node name is used to identify dp or usb3 port, > and shall be the following entries: > -- > 2.7.4 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v2 2/4] phy: rockchip-typec: support variable phy config value

2018-05-11 Thread Sean Paul
ht we decided to always do sw training and then fallback to fw training. If so, we don't need this. Sean > + bool flip; > + u8 mode; > + int (*typec_phy_config)(struct phy *phy, int link_rate, > + int lanes, u8 swing, u8 pre_emp); > +}; > + > +#endif > -- > 2.7.4 > -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH v2 2/4] phy: rockchip-typec: support variable phy config value

2018-05-11 Thread Sean Paul
st struct rockchip_usb3phy_port_cfg *port_cfgs; > + /* mutex to protect access to individual PHYs */ > + struct mutex lock; > + struct phy_config config[3][4]; > + u8 need_software_training; I thought we decided to always do sw training and then fallback to fw training. If so,

Re: [PATCH v2 1/4] drm/rockchip: add transfer function for cdn-dp

2018-05-11 Thread Sean Paul
Zhong <z...@rock-chips.com> > Signed-off-by: Lin Huang <h...@rock-chips.com> FTR, I've already done one pass at [1]. All of those nits look fixed, so Reviewed-by: Sean Paul <seanp...@chromium.org> [1]- https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/985

Re: [PATCH v2 1/4] drm/rockchip: add transfer function for cdn-dp

2018-05-11 Thread Sean Paul
uang FTR, I've already done one pass at [1]. All of those nits look fixed, so Reviewed-by: Sean Paul [1]- https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/985572 > --- > > Changes in v2: > - update patch following Enric suggest > > d

Re: [PATCH] gpu: drm: vgem: Change return type to vm_fault_t

2018-05-10 Thread Sean Paul
> mutex_lock(>pages_lock); > > if (obj->pages) { > > get_page(obj->pages[page_offset]); > > -- > > 1.9.1 > > > > Any further comment on this patch ? Patch looks good to me. My build test fails, though, since vm_fault_t doesn't exist in drm-misc-next yet. So, for now, Reviewed-by: Sean Paul <seanp...@chromium.org> -- Sean Paul, Software Engineer, Google / Chromium OS

Re: [PATCH] gpu: drm: vgem: Change return type to vm_fault_t

2018-05-10 Thread Sean Paul
t; @@ -77,7 +77,6 @@ static int vgem_gem_fault(struct vm_fault *vmf) > > if (page_offset > num_pages) > > return VM_FAULT_SIGBUS; > > > > - ret = -ENOENT; > > mutex_lock(>pages_lock); > > if (obj->pages)

Re: [PATCH] drm/vc4: Fix oops dereferencing DPI's connector since panel_bridge.

2018-05-02 Thread Sean Paul
DRM_ERROR("Unknown media bus format %d\n", bus_format); > break; > } > + } else { > + /* Default to 24bit if no connector found. */ > + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_24BIT_888_RGB, DPI_FORMAT); > } &

Re: [PATCH] drm/vc4: Fix oops dereferencing DPI's connector since panel_bridge.

2018-05-02 Thread Sean Paul
rmat); > break; > } > + } else { > + /* Default to 24bit if no connector found. */ > + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_24BIT_888_RGB, DPI_FORMAT); > } > > if (mode->flags & DRM_MODE_FLAG_NHS

  1   2   3   4   5   6   7   8   9   10   >