gt;
>
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
_
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
/rockchip/dw-mipi-dsi.c
> b/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
> index 9a20b9d..c933a3a 100644
> --
> 1.9.1
>
--
Sean Paul, Software Engineer, Google / Chromium OS
/drivers/gpu/drm/rockchip/dw-mipi-dsi.c
> index 9a20b9d..c933a3a 100644
> --
> 1.9.1
>
--
Sean Paul, Software Engineer, Google / Chromium OS
> + err = kingdisplay_panel_add(kingdisplay);
> + if (err < 0)
> + return err;
> +
> + err = mipi_dsi_attach(dsi);
> + return err;
Let's log some errors for failures in this function
> +}
> +
> +static int kingdisplay_panel_remove(struct mipi_dsi_device *dsi)
> +{
> + struct kingdisplay_panel *kingdisplay = mipi_dsi_get_drvdata(dsi);
> + int err;
> +
> + err = kingdisplay_panel_unprepare(>base);
> + if (err < 0)
> + DRM_DEV_ERROR(>dev, "failed to unprepare panel: %d\n",
> + err);
> +
> + err = kingdisplay_panel_disable(>base);
> + if (err < 0)
> + DRM_DEV_ERROR(>dev, "failed to disable panel: %d\n", err);
> +
> + err = mipi_dsi_detach(dsi);
> + if (err < 0)
> + DRM_DEV_ERROR(>dev, "failed to detach from DSI host: %d\n",
> + err);
> +
> + drm_panel_detach(>base);
> + kingdisplay_panel_del(kingdisplay);
> +
> + return 0;
> +}
> +
> +static void kingdisplay_panel_shutdown(struct mipi_dsi_device *dsi)
> +{
> + struct kingdisplay_panel *kingdisplay = mipi_dsi_get_drvdata(dsi);
> +
> + kingdisplay_panel_unprepare(>base);
> + kingdisplay_panel_disable(>base);
> +}
> +
> +static struct mipi_dsi_driver kingdisplay_panel_driver = {
> + .driver = {
> + .name = "panel-kingdisplay-kd097d04",
> + .of_match_table = kingdisplay_of_match,
> + },
> + .probe = kingdisplay_panel_probe,
> + .remove = kingdisplay_panel_remove,
> + .shutdown = kingdisplay_panel_shutdown,
> +};
> +module_mipi_dsi_driver(kingdisplay_panel_driver);
> +
> +MODULE_AUTHOR("Chris Zhong <z...@rock-chips.com>");
> +MODULE_AUTHOR("Nickey Yang <nickey.y...@rock-chips.com>");
> +MODULE_DESCRIPTION("kingdisplay KD097D04 panel driver");
> +MODULE_LICENSE("GPL v2");
> --
> 1.9.1
>
>
--
Sean Paul, Software Engineer, Google / Chromium OS
; +
> + kingdisplay = devm_kzalloc(>dev, sizeof(*kingdisplay), GFP_KERNEL);
> + if (!kingdisplay)
> + return -ENOMEM;
> +
> + mipi_dsi_set_drvdata(dsi, kingdisplay);
> +
> + kingdisplay->link = dsi;
> +
> + err = kingdisplay_panel_add(kingdisplay);
> + if (err < 0)
> + return err;
> +
> + err = mipi_dsi_attach(dsi);
> + return err;
Let's log some errors for failures in this function
> +}
> +
> +static int kingdisplay_panel_remove(struct mipi_dsi_device *dsi)
> +{
> + struct kingdisplay_panel *kingdisplay = mipi_dsi_get_drvdata(dsi);
> + int err;
> +
> + err = kingdisplay_panel_unprepare(>base);
> + if (err < 0)
> + DRM_DEV_ERROR(>dev, "failed to unprepare panel: %d\n",
> + err);
> +
> + err = kingdisplay_panel_disable(>base);
> + if (err < 0)
> + DRM_DEV_ERROR(>dev, "failed to disable panel: %d\n", err);
> +
> + err = mipi_dsi_detach(dsi);
> + if (err < 0)
> + DRM_DEV_ERROR(>dev, "failed to detach from DSI host: %d\n",
> + err);
> +
> + drm_panel_detach(>base);
> + kingdisplay_panel_del(kingdisplay);
> +
> + return 0;
> +}
> +
> +static void kingdisplay_panel_shutdown(struct mipi_dsi_device *dsi)
> +{
> + struct kingdisplay_panel *kingdisplay = mipi_dsi_get_drvdata(dsi);
> +
> + kingdisplay_panel_unprepare(>base);
> + kingdisplay_panel_disable(>base);
> +}
> +
> +static struct mipi_dsi_driver kingdisplay_panel_driver = {
> + .driver = {
> + .name = "panel-kingdisplay-kd097d04",
> + .of_match_table = kingdisplay_of_match,
> + },
> + .probe = kingdisplay_panel_probe,
> + .remove = kingdisplay_panel_remove,
> + .shutdown = kingdisplay_panel_shutdown,
> +};
> +module_mipi_dsi_driver(kingdisplay_panel_driver);
> +
> +MODULE_AUTHOR("Chris Zhong ");
> +MODULE_AUTHOR("Nickey Yang ");
> +MODULE_DESCRIPTION("kingdisplay KD097D04 panel driver");
> +MODULE_LICENSE("GPL v2");
> --
> 1.9.1
>
>
--
Sean Paul, Software Engineer, Google / Chromium OS
>
> Signed-off-by: Sandy Huang <h...@rock-chips.com>
Reviewed-by: Sean Paul <seanp...@chromium.org>
> ---
> drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h
> b/
>
> Signed-off-by: Sandy Huang
Reviewed-by: Sean Paul
> ---
> drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h
> b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h
> index 5
dev = dev;
> + match = of_match_node(rockchip_rgb_dt_ids, dev->of_node);
> + if (!match)
> + return -ENODEV;
> +
> + rgb->pins = devm_kzalloc(rgb->dev, sizeof(*rgb->pins), GFP_KERNEL);
> + if (!rgb->pins)
> + return -ENOMEM;
Can you please log errors for all of these failing conditions?
> + rgb->pins->p = devm_pinctrl_get(rgb->dev);
> + if (IS_ERR(rgb->pins->p)) {
> + DRM_DEV_ERROR(dev, "no pinctrl handle\n");
> + devm_kfree(rgb->dev, rgb->pins);
> + rgb->pins = NULL;
> + } else {
> + rgb->pins->default_state =
> + pinctrl_lookup_state(rgb->pins->p, "lcdc");
> + if (IS_ERR(rgb->pins->default_state)) {
> + DRM_DEV_ERROR(dev, "no default pinctrl state\n");
> + devm_kfree(rgb->dev, rgb->pins);
> + rgb->pins = NULL;
> + }
> + }
> +
> + dev_set_drvdata(dev, rgb);
> + ret = component_add(>dev, _rgb_component_ops);
> + if (ret < 0)
> + DRM_DEV_ERROR(dev, "failed to add component\n");
> +
> + return ret;
> +}
> +
> +static int rockchip_rgb_remove(struct platform_device *pdev)
> +{
> + component_del(>dev, _rgb_component_ops);
> +
> + return 0;
> +}
> +
> +struct platform_driver rockchip_rgb_driver = {
> + .probe = rockchip_rgb_probe,
> + .remove = rockchip_rgb_remove,
> + .driver = {
> +.name = "rockchip-rgb",
> +.of_match_table = of_match_ptr(rockchip_rgb_dt_ids),
> + },
> +};
> --
> 2.7.4
>
>
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
ockchip_rgb_dt_ids, dev->of_node);
> + if (!match)
> + return -ENODEV;
> +
> + rgb->pins = devm_kzalloc(rgb->dev, sizeof(*rgb->pins), GFP_KERNEL);
> + if (!rgb->pins)
> + return -ENOMEM;
Can you please log errors for all of these failing conditions?
> + rgb->pins->p = devm_pinctrl_get(rgb->dev);
> + if (IS_ERR(rgb->pins->p)) {
> + DRM_DEV_ERROR(dev, "no pinctrl handle\n");
> + devm_kfree(rgb->dev, rgb->pins);
> + rgb->pins = NULL;
> + } else {
> + rgb->pins->default_state =
> + pinctrl_lookup_state(rgb->pins->p, "lcdc");
> + if (IS_ERR(rgb->pins->default_state)) {
> + DRM_DEV_ERROR(dev, "no default pinctrl state\n");
> + devm_kfree(rgb->dev, rgb->pins);
> + rgb->pins = NULL;
> + }
> + }
> +
> + dev_set_drvdata(dev, rgb);
> + ret = component_add(>dev, _rgb_component_ops);
> + if (ret < 0)
> + DRM_DEV_ERROR(dev, "failed to add component\n");
> +
> + return ret;
> +}
> +
> +static int rockchip_rgb_remove(struct platform_device *pdev)
> +{
> + component_del(>dev, _rgb_component_ops);
> +
> + return 0;
> +}
> +
> +struct platform_driver rockchip_rgb_driver = {
> + .probe = rockchip_rgb_probe,
> + .remove = rockchip_rgb_remove,
> + .driver = {
> +.name = "rockchip-rgb",
> +.of_match_table = of_match_ptr(rockchip_rgb_dt_ids),
> + },
> +};
> --
> 2.7.4
>
>
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
e));
> dw_mipi_dsi_phy_write(dsi, 0x17, INPUT_DIVIDER(dsi->input_div));
> dw_mipi_dsi_phy_write(dsi, 0x18, LOOP_DIV_LOW_SEL(dsi->feedback_div) |
>LOW_PROGRAM_EN);
> @@ -547,7 +557,7 @@ static int dw_mipi_dsi_get_lane_bps(struct dw_mipi_dsi
> *dsi,
> {
> unsigned long mpclk, tmp;
> unsigned int target_mbps = 1000;
> - unsigned int max_mbps = dptdin_map[ARRAY_SIZE(dptdin_map) - 1].max_mbps;
> + unsigned int max_mbps = dppa_map[ARRAY_SIZE(dppa_map) - 1].max_mbps;
> int bpp;
> int lanes = dsi->lanes;
> unsigned long best_freq = 0;
> --
> 1.9.1
>
>
--
Sean Paul, Software Engineer, Google / Chromium OS
(dsi, 0x17, INPUT_DIVIDER(dsi->input_div));
> dw_mipi_dsi_phy_write(dsi, 0x18, LOOP_DIV_LOW_SEL(dsi->feedback_div) |
> LOW_PROGRAM_EN);
> @@ -547,7 +557,7 @@ static int dw_mipi_dsi_get_lane_bps(struct dw_mipi_dsi
> *dsi,
> {
> unsigned long mpclk, tmp;
> unsigned int target_mbps = 1000;
> - unsigned int max_mbps = dptdin_map[ARRAY_SIZE(dptdin_map) - 1].max_mbps;
> + unsigned int max_mbps = dppa_map[ARRAY_SIZE(dppa_map) - 1].max_mbps;
> int bpp;
> int lanes = dsi->lanes;
> unsigned long best_freq = 0;
> --
> 1.9.1
>
>
--
Sean Paul, Software Engineer, Google / Chromium OS
On Tue, Sep 19, 2017 at 11:19:01AM -0700, Brian Norris wrote:
> Hi Sean,
>
> On Tue, Sep 19, 2017 at 11:00:25AM -0700, Sean Paul wrote:
> > On Mon, Sep 18, 2017 at 05:05:33PM +0800, Nickey Yang wrote:
> > > This patch correct Feedback divider setting:
> > >
On Tue, Sep 19, 2017 at 11:19:01AM -0700, Brian Norris wrote:
> Hi Sean,
>
> On Tue, Sep 19, 2017 at 11:00:25AM -0700, Sean Paul wrote:
> > On Mon, Sep 18, 2017 at 05:05:33PM +0800, Nickey Yang wrote:
> > > This patch correct Feedback divider setting:
> > >
oder);
> - drm_connector_cleanup(>connector);
> -err_pllref:
> - clk_disable_unprepare(dsi->pllref_clk);
> - return ret;
> -}
> -
> -static void dw_mipi_dsi_unbind(struct device *dev, struct device *master,
> -void *data)
> -{
>
_connector_cleanup(>connector);
> -err_pllref:
> - clk_disable_unprepare(dsi->pllref_clk);
> - return ret;
> -}
> -
> -static void dw_mipi_dsi_unbind(struct device *dev, struct device *master,
> -void *data)
> -{
> - struct dw_mipi_dsi *ds
min_delta) {
> + best_prediv = _prediv;
> + best_fbdiv = _fbdiv;
> + min_delta = delta;
> + best_freq = tmp;
> }
> - if (tmp == 0)
> - break;
> }
>
> - dsi->lane_mbps = pllref / n * m;
> - dsi->input_div = n;
> - dsi->feedback_div = m;
> + if (best_freq) {
Should you return an error or log something if best_freq is not found?
> + dsi->lane_mbps = DIV_ROUND_UP(best_freq, USEC_PER_SEC);
> + dsi->input_div = best_prediv;
> + dsi->feedback_div = best_fbdiv;
> + }
>
> return 0;
> }
> --
> 1.9.1
>
>
--
Sean Paul, Software Engineer, Google / Chromium OS
best_prediv = _prediv;
> + best_fbdiv = _fbdiv;
> + min_delta = delta;
> + best_freq = tmp;
> }
> - if (tmp == 0)
> - break;
> }
>
> - dsi->lane_mbps = pllref / n * m;
> - dsi->input_div = n;
> - dsi->feedback_div = m;
> + if (best_freq) {
Should you return an error or log something if best_freq is not found?
> + dsi->lane_mbps = DIV_ROUND_UP(best_freq, USEC_PER_SEC);
> + dsi->input_div = best_prediv;
> + dsi->feedback_div = best_fbdiv;
> + }
>
> return 0;
> }
> --
> 1.9.1
>
>
--
Sean Paul, Software Engineer, Google / Chromium OS
On Mon, Sep 11, 2017 at 12:28 PM, Srishti Sharma <srishtis...@gmail.com> wrote:
> Remove the variable monitor_lock as it is not used anywhere.
>
> Signed-off-by: Srishti Sharma <srishtis...@gmail.com>
Reviewed-by: Sean Paul <seanp...@chromium.org>
> ---
>
On Mon, Sep 11, 2017 at 12:28 PM, Srishti Sharma wrote:
> Remove the variable monitor_lock as it is not used anywhere.
>
> Signed-off-by: Srishti Sharma
Reviewed-by: Sean Paul
> ---
> Changes in v2:
> -The variable that was not to be declared as volatile can
On Mon, Sep 11, 2017 at 12:08 PM, Srishti Sharma wrote:
> On Mon, Sep 11, 2017 at 9:34 PM, Greg KH wrote:
>> On Mon, Sep 11, 2017 at 09:29:31PM +0530, Srishti Sharma wrote:
>>> The use of volatile for the variable monitor_lock is unnecessary.
On Mon, Sep 11, 2017 at 12:08 PM, Srishti Sharma wrote:
> On Mon, Sep 11, 2017 at 9:34 PM, Greg KH wrote:
>> On Mon, Sep 11, 2017 at 09:29:31PM +0530, Srishti Sharma wrote:
>>> The use of volatile for the variable monitor_lock is unnecessary.
>>>
>>> Signed-off-by: Srishti Sharma
>>> ---
>>>
re by
> simply adding the dri-devel mailing list to the fbdev subsystem.
>
> Cc: Hans de Goede <hdego...@redhat.com>
> Cc: Bartlomiej Zolnierkiewicz <b.zolnier...@samsung.com>
> Cc: linux-fb...@vger.kernel.org
> Cc: dri-de...@lists.freedesktop.org
> Cc: Sean Paul <sea
dri-devel mailing list to the fbdev subsystem.
>
> Cc: Hans de Goede
> Cc: Bartlomiej Zolnierkiewicz
> Cc: linux-fb...@vger.kernel.org
> Cc: dri-de...@lists.freedesktop.org
> Cc: Sean Paul
Acked-by: Sean Paul
> Cc: David Airlie
> Signed-off-by: Daniel Vetter
> -
On Fri, Sep 8, 2017 at 11:11 AM, Srishti Sharma wrote:
> Use BIT(x) instead of (1<
> Signed-off-by: Srishti Sharma
> ---
> drivers/staging/media/imx/imx-media.h | 16
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff
On Fri, Sep 8, 2017 at 11:11 AM, Srishti Sharma wrote:
> Use BIT(x) instead of (1<
> Signed-off-by: Srishti Sharma
> ---
> drivers/staging/media/imx/imx-media.h | 16
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/staging/media/imx/imx-media.h
>
ck which we use to make
> sure we are validating the mode clock that will eventually be
> used.
>
> Cc: Daniel Vetter <daniel.vet...@intel.com>
> Cc: Jani Nikula <jani.nik...@linux.intel.com>
> Cc: Sean Paul <seanp...@chromium.org>
> Cc: David Airlie <airl...@l
ck which we use to make
> sure we are validating the mode clock that will eventually be
> used.
>
> Cc: Daniel Vetter
> Cc: Jani Nikula
> Cc: Sean Paul
> Cc: David Airlie
> Cc: Rob Clark
> Cc: Xinliang Liu
> Cc: Xinliang Liu
> Cc: Rongrong Zou
> Cc: Xinwei Kong
On Fri, Aug 11, 2017 at 12:11 PM, Hans de Goede <hdego...@redhat.com> wrote:
> Hi,
>
> On 11-08-17 18:04, Sean Paul wrote:
>>
>> On Fri, Aug 11, 2017 at 03:26:45PM +0200, Hans de Goede wrote:
>>>
>>> Hi,
>>>
>>> On 11-08-17 14:33,
On Fri, Aug 11, 2017 at 12:11 PM, Hans de Goede wrote:
> Hi,
>
> On 11-08-17 18:04, Sean Paul wrote:
>>
>> On Fri, Aug 11, 2017 at 03:26:45PM +0200, Hans de Goede wrote:
>>>
>>> Hi,
>>>
>>> On 11-08-17 14:33, Cihangir Akturk wrote:
>>
100644
> --- a/drivers/gpu/drm/vgem/vgem_fence.c
> +++ b/drivers/gpu/drm/vgem/vgem_fence.c
> @@ -213,7 +213,7 @@ int vgem_fence_attach_ioctl(struct drm_device *dev,
> dma_fence_put(fence);
> }
> err:
> - drm_gem_object_unreference_unlocked(obj);
> + drm_gem_object_put_unlocked(obj);
> return ret;
> }
>
> --
> 2.7.4
>
--
Sean Paul, Software Engineer, Google / Chromium OS
ers/gpu/drm/vgem/vgem_fence.c
> +++ b/drivers/gpu/drm/vgem/vgem_fence.c
> @@ -213,7 +213,7 @@ int vgem_fence_attach_ioctl(struct drm_device *dev,
> dma_fence_put(fence);
> }
> err:
> - drm_gem_object_unreference_unlocked(obj);
> + drm_gem_object_put_unlocked(obj);
> return ret;
> }
>
> --
> 2.7.4
>
--
Sean Paul, Software Engineer, Google / Chromium OS
o/vbox_mode.c
> > b/drivers/staging/vboxvideo/vbox_mode.c
> > index 996da1c..e5b6383 100644
> > --- a/drivers/staging/vboxvideo/vbox_mode.c
> > +++ b/drivers/staging/vboxvideo/vbox_mode.c
> > @@ -812,7 +812,7 @@ static int vbox_cursor_set2(struct drm_crtc *crtc,
> > struct drm_file *file_priv,
> > out_unreserve_bo:
> > vbox_bo_unreserve(bo);
> > out_unref_obj:
> > - drm_gem_object_unreference_unlocked(obj);
> > + drm_gem_object_put_unlocked(obj);
> > return ret;
> > }
> >
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
c
> > b/drivers/staging/vboxvideo/vbox_mode.c
> > index 996da1c..e5b6383 100644
> > --- a/drivers/staging/vboxvideo/vbox_mode.c
> > +++ b/drivers/staging/vboxvideo/vbox_mode.c
> > @@ -812,7 +812,7 @@ static int vbox_cursor_set2(struct drm_crtc *crtc,
> > struct drm_file *file_priv,
> > out_unreserve_bo:
> > vbox_bo_unreserve(bo);
> > out_unref_obj:
> > - drm_gem_object_unreference_unlocked(obj);
> > + drm_gem_object_put_unlocked(obj);
> > return ret;
> > }
> >
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
> > + drm_gem_object_put_unlocked(_gem->base);
> >
> > return 0;
> >
>
> Reviewed-by: Philipp Zabel <p.za...@pengutronix.de>
Applied to drm-misc-next, thank you for the review!
Sean
>
> regards
> Philipp
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
- drm_gem_object_unreference_unlocked(>base);
> + drm_gem_object_put_unlocked(>base);
> *handle_p = handle;
> return 0;
> }
> @@ -234,7 +234,7 @@ int udl_gem_mmap(struct drm_file *file, struct drm_device
> *dev,
> *offset = drm_vma_node_offset_addr(>base.vma_node);
>
> out:
> - drm_gem_object_unreference(>base);
> + drm_gem_object_put(>base);
> unlock:
> mutex_unlock(>struct_mutex);
> return ret;
> --
> 2.7.4
>
--
Sean Paul, Software Engineer, Google / Chromium OS
_object_unreference_unlocked(>base);
> + drm_gem_object_put_unlocked(>base);
> *handle_p = handle;
> return 0;
> }
> @@ -234,7 +234,7 @@ int udl_gem_mmap(struct drm_file *file, struct drm_device
> *dev,
> *offset = drm_vma_node_offset_addr(>base.vma_node);
>
> out:
> - drm_gem_object_unreference(>base);
> + drm_gem_object_put(>base);
> unlock:
> mutex_unlock(>struct_mutex);
> return ret;
> --
> 2.7.4
>
--
Sean Paul, Software Engineer, Google / Chromium OS
object_put_unlocked(_gem->base);
> >
> > return 0;
> >
>
> Reviewed-by: Philipp Zabel
Applied to drm-misc-next, thank you for the review!
Sean
>
> regards
> Philipp
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
mgag200_dumb_create(struct drm_file *file,
> return ret;
>
> ret = drm_gem_handle_create(file, gobj, );
> - drm_gem_object_unreference_unlocked(gobj);
> + drm_gem_object_put_unlocked(gobj);
> if (ret)
> return ret;
>
> @@ -366,6 +366,6 @@ mgag200_dumb_mmap_offset(struct drm_file *file,
> bo = gem_to_mga_bo(obj);
> *offset = mgag200_bo_mmap_offset(bo);
>
> - drm_gem_object_unreference_unlocked(obj);
> + drm_gem_object_put_unlocked(obj);
> return 0;
> }
> --
> 2.7.4
>
--
Sean Paul, Software Engineer, Google / Chromium OS
e,
> return ret;
>
> ret = drm_gem_handle_create(file, gobj, );
> - drm_gem_object_unreference_unlocked(gobj);
> + drm_gem_object_put_unlocked(gobj);
> if (ret)
> return ret;
>
> @@ -366,6 +366,6 @@ mgag200_dumb_mmap_offset(struct drm_file *file,
> bo = gem_to_mga_bo(obj);
> *offset = mgag200_bo_mmap_offset(bo);
>
> - drm_gem_object_unreference_unlocked(obj);
> + drm_gem_object_put_unlocked(obj);
> return 0;
> }
> --
> 2.7.4
>
--
Sean Paul, Software Engineer, Google / Chromium OS
ef_worker(struct drm_flip_work
> *work, void *val)
> struct drm_framebuffer *fb = val;
>
> drm_crtc_vblank_put(>crtc);
> - drm_framebuffer_unreference(fb);
> + drm_framebuffer_put(fb);
> }
>
> static void vop_handle_vblank(struct vop *vop)
> --
> 2.7.4
>
>
> ___
> linux-arm-kernel mailing list
> linux-arm-ker...@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Sean Paul, Software Engineer, Google / Chromium OS
work
> *work, void *val)
> struct drm_framebuffer *fb = val;
>
> drm_crtc_vblank_put(>crtc);
> - drm_framebuffer_unreference(fb);
> + drm_framebuffer_put(fb);
> }
>
> static void vop_handle_vblank(struct vop *vop)
> --
> 2.7.4
>
>
> ___
> linux-arm-kernel mailing list
> linux-arm-ker...@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Sean Paul, Software Engineer, Google / Chromium OS
locked(hibmc_fb->obj);
> + drm_gem_object_put_unlocked(hibmc_fb->obj);
> drm_framebuffer_cleanup(fb);
> kfree(hibmc_fb);
> }
> @@ -543,7 +543,7 @@ hibmc_user_framebuffer_create(struct drm_device *dev,
>
> hibmc_fb = hibmc_framebuffer_init(dev, mode_cmd, obj);
>
drm_gem_object_put_unlocked(hibmc_fb->obj);
> drm_framebuffer_cleanup(fb);
> kfree(hibmc_fb);
> }
> @@ -543,7 +543,7 @@ hibmc_user_framebuffer_create(struct drm_device *dev,
>
> hibmc_fb = hibmc_framebuffer_init(dev, mode_cmd, obj);
> if (IS_ERR(hibmc_fb))
@ -310,7 +310,7 @@ cirrus_dumb_mmap_offset(struct drm_file *file,
> bo = gem_to_cirrus_bo(obj);
> *offset = cirrus_bo_mmap_offset(bo);
>
> - drm_gem_object_unreference_unlocked(obj);
> + drm_gem_object_put_unlocked(obj);
>
> return 0;
> }
> --
> 2.7.4
>
--
Sean Paul, Software Engineer, Google / Chromium OS
b_mmap_offset(struct drm_file *file,
> bo = gem_to_cirrus_bo(obj);
> *offset = cirrus_bo_mmap_offset(bo);
>
> - drm_gem_object_unreference_unlocked(obj);
> + drm_gem_object_put_unlocked(obj);
>
> return 0;
> }
> --
> 2.7.4
>
--
Sean Paul, Software Engineer, Google / Chromium OS
199,10 @@ static int ast_cursor_set(struct drm_crtc *crtc,
>
> ast_show_cursor(crtc);
>
> - drm_gem_object_unreference_unlocked(obj);
> + drm_gem_object_put_unlocked(obj);
> return 0;
> fail:
> - drm_gem_object_unreference_unlocked(obj);
> + drm_gem_object_put_unlocked(obj);
> return ret;
> }
>
> --
> 2.7.4
>
--
Sean Paul, Software Engineer, Google / Chromium OS
;
> ttm_bo_kunmap(>cache_kmap);
> - drm_gem_object_unreference_unlocked(ast->cursor_cache);
> + drm_gem_object_put_unlocked(ast->cursor_cache);
> }
>
> int ast_mode_init(struct drm_device *dev)
> @@ -1199,10 +1199,10 @@ static int ast_cursor_set(struct drm_crtc *crtc,
>
On Fri, Aug 11, 2017 at 10:15:16AM +0800, Sandy Huang wrote:
>
>
> 在 2017/8/11 2:05, Sean Paul 写道:
> > On Thu, Aug 10, 2017 at 05:35:52PM +0800, Sandy Huang wrote:
> > > Hi Sean Paul,
> > > Thanks for your review.
> > >
> > > 在 2017/8/
On Fri, Aug 11, 2017 at 10:15:16AM +0800, Sandy Huang wrote:
>
>
> 在 2017/8/11 2:05, Sean Paul 写道:
> > On Thu, Aug 10, 2017 at 05:35:52PM +0800, Sandy Huang wrote:
> > > Hi Sean Paul,
> > > Thanks for your review.
> > >
> > > 在 2017/8/
On Thu, Aug 10, 2017 at 3:52 PM, Cihangir Akturk <cakt...@gmail.com> wrote:
> On Thu, Aug 10, 2017 at 02:16:08PM -0400, Sean Paul wrote:
>> On Thu, Aug 10, 2017 at 03:10:04PM +0300, Cihangir Akturk wrote:
>> > Use drm_*_get() and drm_*_put() helpers instead of drm_*_r
On Thu, Aug 10, 2017 at 3:52 PM, Cihangir Akturk wrote:
> On Thu, Aug 10, 2017 at 02:16:08PM -0400, Sean Paul wrote:
>> On Thu, Aug 10, 2017 at 03:10:04PM +0300, Cihangir Akturk wrote:
>> > Use drm_*_get() and drm_*_put() helpers instead of drm_*_reference()
>> > and
F, >pending);
> WARN_ON(drm_crtc_vblank_get(crtc) != 0);
> @@ -1189,7 +1189,7 @@ static void vop_fb_unref_worker(struct drm_flip_work
> *work, void *val)
> struct drm_framebuffer *fb = val;
>
> drm_crtc_vblank_put(>crtc);
> - drm_framebuffer_unreference(fb);
> + drm_framebuffer_put(fb);
> }
>
> static void vop_handle_vblank(struct vop *vop)
> --
> 2.7.4
>
>
> ___
> linux-arm-kernel mailing list
> linux-arm-ker...@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Sean Paul, Software Engineer, Google / Chromium OS
WARN_ON(drm_crtc_vblank_get(crtc) != 0);
> @@ -1189,7 +1189,7 @@ static void vop_fb_unref_worker(struct drm_flip_work
> *work, void *val)
> struct drm_framebuffer *fb = val;
>
> drm_crtc_vblank_put(>crtc);
> - drm_framebuffer_unreference(fb);
> + drm_framebuffer_put(fb);
> }
>
> static void vop_handle_vblank(struct vop *vop)
> --
> 2.7.4
>
>
> ___
> linux-arm-kernel mailing list
> linux-arm-ker...@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Sean Paul, Software Engineer, Google / Chromium OS
On Thu, Aug 10, 2017 at 05:35:52PM +0800, Sandy Huang wrote:
> Hi Sean Paul,
> Thanks for your review.
>
> 在 2017/8/10 3:58, Sean Paul 写道:
> > On Wed, Aug 09, 2017 at 06:00:59PM +0800, Sandy Huang wrote:
> > > This adds support for Rockchip soc lvds found on rk3288
On Thu, Aug 10, 2017 at 05:35:52PM +0800, Sandy Huang wrote:
> Hi Sean Paul,
> Thanks for your review.
>
> 在 2017/8/10 3:58, Sean Paul 写道:
> > On Wed, Aug 09, 2017 at 06:00:59PM +0800, Sandy Huang wrote:
> > > This adds support for Rockchip soc lvds found on rk3288
ine RK3288_LVDS_CH0_REG1_LANE0_BIAS BIT(0)
> +
> +#define RK3288_LVDS_CH0_REG2 0x08
> +#define RK3288_LVDS_CH0_REG2_RESERVE_ON BIT(7)
> +#define RK3288_LVDS_CH0_REG2_LANECK_LVDS_MODEBIT(6)
> +#define RK3288_LVDS_CH0_REG2_LANE4_LVDS_MODE BIT(5)
> +#define RK3288_LVDS_CH0_REG2_LANE3_LVDS_MODE BIT(4)
> +#define RK3288_LVDS_CH0_REG2_LANE2_LVDS_MODE BIT(3)
> +#define RK3288_LVDS_CH0_REG2_LANE1_LVDS_MODE BIT(2)
> +#define RK3288_LVDS_CH0_REG2_LANE0_LVDS_MODE BIT(1)
> +#define RK3288_LVDS_CH0_REG2_PLL_FBDIV8 BIT(0)
> +
> +#define RK3288_LVDS_CH0_REG3 0x0c
> +#define RK3288_LVDS_CH0_REG3_PLL_FBDIV_MASK 0xff
> +
> +#define RK3288_LVDS_CH0_REG4 0x10
> +#define RK3288_LVDS_CH0_REG4_LANECK_TTL_MODE BIT(5)
> +#define RK3288_LVDS_CH0_REG4_LANE4_TTL_MODE BIT(4)
> +#define RK3288_LVDS_CH0_REG4_LANE3_TTL_MODE BIT(3)
> +#define RK3288_LVDS_CH0_REG4_LANE2_TTL_MODE BIT(2)
> +#define RK3288_LVDS_CH0_REG4_LANE1_TTL_MODE BIT(1)
> +#define RK3288_LVDS_CH0_REG4_LANE0_TTL_MODE BIT(0)
> +
> +#define RK3288_LVDS_CH0_REG5 0x14
> +#define RK3288_LVDS_CH0_REG5_LANECK_TTL_DATA BIT(5)
> +#define RK3288_LVDS_CH0_REG5_LANE4_TTL_DATA BIT(4)
> +#define RK3288_LVDS_CH0_REG5_LANE3_TTL_DATA BIT(3)
> +#define RK3288_LVDS_CH0_REG5_LANE2_TTL_DATA BIT(2)
> +#define RK3288_LVDS_CH0_REG5_LANE1_TTL_DATA BIT(1)
> +#define RK3288_LVDS_CH0_REG5_LANE0_TTL_DATA BIT(0)
> +
> +#define RK3288_LVDS_CFG_REGC 0x30
> +#define RK3288_LVDS_CFG_REGC_PLL_ENABLE 0x00
> +#define RK3288_LVDS_CFG_REGC_PLL_DISABLE 0xff
> +
> +#define RK3288_LVDS_CH0_REGD 0x34
> +#define RK3288_LVDS_CH0_REGD_PLL_PREDIV_MASK 0x1f
> +
> +#define RK3288_LVDS_CH0_REG200x80
> +#define RK3288_LVDS_CH0_REG20_MSB0x45
> +#define RK3288_LVDS_CH0_REG20_LSB0x44
> +
> +#define RK3288_LVDS_CFG_REG210x84
> +#define RK3288_LVDS_CFG_REG21_TX_ENABLE 0x92
> +#define RK3288_LVDS_CFG_REG21_TX_DISABLE 0x00
> +#define RK3288_LVDS_CH1_OFFSET 0x100
> +
> +/* fbdiv value is split over 2 registers, with bit8 in reg2 */
> +#define RK3288_LVDS_PLL_FBDIV_REG2(_fbd) \
> + (_fbd & BIT(8) ? RK3288_LVDS_CH0_REG2_PLL_FBDIV8 : 0)
> +#define RK3288_LVDS_PLL_FBDIV_REG3(_fbd) \
> + (_fbd & RK3288_LVDS_CH0_REG3_PLL_FBDIV_MASK)
> +#define RK3288_LVDS_PLL_PREDIV_REGD(_pd) \
> + (_pd & RK3288_LVDS_CH0_REGD_PLL_PREDIV_MASK)
> +
> +#define RK3288_LVDS_SOC_CON6_SEL_VOP_LIT BIT(3)
> +
> +#define LVDS_FMT_MASK(0x07 << 16)
> +#define LVDS_MSB BIT(3)
> +#define LVDS_DUALBIT(4)
> +#define LVDS_FMT_1 BIT(5)
> +#define LVDS_TTL_EN BIT(6)
> +#define LVDS_START_PHASE_RST_1 BIT(7)
> +#define LVDS_DCLK_INVBIT(8)
> +#define LVDS_CH0_EN BIT(11)
> +#define LVDS_CH1_EN BIT(12)
> +#define LVDS_PWRDN BIT(15)
> +
> +#define LVDS_24BIT (0 << 1)
> +#define LVDS_18BIT (1 << 1)
> +#define LVDS_FORMAT_VESA (0 << 0)
> +#define LVDS_FORMAT_JEIDA(1 << 0)
> +
> +enum rockchip_lvds_sub_devtype {
> + RK3288_LVDS,
> +};
> +#endif /* _ROCKCHIP_LVDS_ */
> --
> 2.7.4
>
>
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
e RK3288_LVDS_CH0_REG2_LANECK_LVDS_MODEBIT(6)
> +#define RK3288_LVDS_CH0_REG2_LANE4_LVDS_MODE BIT(5)
> +#define RK3288_LVDS_CH0_REG2_LANE3_LVDS_MODE BIT(4)
> +#define RK3288_LVDS_CH0_REG2_LANE2_LVDS_MODE BIT(3)
> +#define RK3288_LVDS_CH0_REG2_LANE1_LVDS_MODE BIT(2)
> +#define RK3288_LVDS_CH0_REG2_LANE0_LVDS_MODE BIT(1)
> +#define RK3288_LVDS_CH0_REG2_PLL_FBDIV8 BIT(0)
> +
> +#define RK3288_LVDS_CH0_REG3 0x0c
> +#define RK3288_LVDS_CH0_REG3_PLL_FBDIV_MASK 0xff
> +
> +#define RK3288_LVDS_CH0_REG4 0x10
> +#define RK3288_LVDS_CH0_REG4_LANECK_TTL_MODE BIT(5)
> +#define RK3288_LVDS_CH0_REG4_LANE4_TTL_MODE BIT(4)
> +#define RK3288_LVDS_CH0_REG4_LANE3_TTL_MODE BIT(3)
> +#define RK3288_LVDS_CH0_REG4_LANE2_TTL_MODE BIT(2)
> +#define RK3288_LVDS_CH0_REG4_LANE1_TTL_MODE BIT(1)
> +#define RK3288_LVDS_CH0_REG4_LANE0_TTL_MODE BIT(0)
> +
> +#define RK3288_LVDS_CH0_REG5 0x14
> +#define RK3288_LVDS_CH0_REG5_LANECK_TTL_DATA BIT(5)
> +#define RK3288_LVDS_CH0_REG5_LANE4_TTL_DATA BIT(4)
> +#define RK3288_LVDS_CH0_REG5_LANE3_TTL_DATA BIT(3)
> +#define RK3288_LVDS_CH0_REG5_LANE2_TTL_DATA BIT(2)
> +#define RK3288_LVDS_CH0_REG5_LANE1_TTL_DATA BIT(1)
> +#define RK3288_LVDS_CH0_REG5_LANE0_TTL_DATA BIT(0)
> +
> +#define RK3288_LVDS_CFG_REGC 0x30
> +#define RK3288_LVDS_CFG_REGC_PLL_ENABLE 0x00
> +#define RK3288_LVDS_CFG_REGC_PLL_DISABLE 0xff
> +
> +#define RK3288_LVDS_CH0_REGD 0x34
> +#define RK3288_LVDS_CH0_REGD_PLL_PREDIV_MASK 0x1f
> +
> +#define RK3288_LVDS_CH0_REG200x80
> +#define RK3288_LVDS_CH0_REG20_MSB0x45
> +#define RK3288_LVDS_CH0_REG20_LSB0x44
> +
> +#define RK3288_LVDS_CFG_REG210x84
> +#define RK3288_LVDS_CFG_REG21_TX_ENABLE 0x92
> +#define RK3288_LVDS_CFG_REG21_TX_DISABLE 0x00
> +#define RK3288_LVDS_CH1_OFFSET 0x100
> +
> +/* fbdiv value is split over 2 registers, with bit8 in reg2 */
> +#define RK3288_LVDS_PLL_FBDIV_REG2(_fbd) \
> + (_fbd & BIT(8) ? RK3288_LVDS_CH0_REG2_PLL_FBDIV8 : 0)
> +#define RK3288_LVDS_PLL_FBDIV_REG3(_fbd) \
> + (_fbd & RK3288_LVDS_CH0_REG3_PLL_FBDIV_MASK)
> +#define RK3288_LVDS_PLL_PREDIV_REGD(_pd) \
> + (_pd & RK3288_LVDS_CH0_REGD_PLL_PREDIV_MASK)
> +
> +#define RK3288_LVDS_SOC_CON6_SEL_VOP_LIT BIT(3)
> +
> +#define LVDS_FMT_MASK(0x07 << 16)
> +#define LVDS_MSB BIT(3)
> +#define LVDS_DUALBIT(4)
> +#define LVDS_FMT_1 BIT(5)
> +#define LVDS_TTL_EN BIT(6)
> +#define LVDS_START_PHASE_RST_1 BIT(7)
> +#define LVDS_DCLK_INVBIT(8)
> +#define LVDS_CH0_EN BIT(11)
> +#define LVDS_CH1_EN BIT(12)
> +#define LVDS_PWRDN BIT(15)
> +
> +#define LVDS_24BIT (0 << 1)
> +#define LVDS_18BIT (1 << 1)
> +#define LVDS_FORMAT_VESA (0 << 0)
> +#define LVDS_FORMAT_JEIDA(1 << 0)
> +
> +enum rockchip_lvds_sub_devtype {
> + RK3288_LVDS,
> +};
> +#endif /* _ROCKCHIP_LVDS_ */
> --
> 2.7.4
>
>
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
On Tue, Aug 08, 2017 at 04:42:37PM -0700, Joe Kniss wrote:
> Because all drivers currently use gem objects for framebuffer planes,
> the virtual create_handle() is not required. This change adds a
> struct drm_gem_object *gems[4] field to drm_framebuffer and removes
> create_handle() function
On Tue, Aug 08, 2017 at 04:42:37PM -0700, Joe Kniss wrote:
> Because all drivers currently use gem objects for framebuffer planes,
> the virtual create_handle() is not required. This change adds a
> struct drm_gem_object *gems[4] field to drm_framebuffer and removes
> create_handle() function
On Wed, Aug 9, 2017 at 6:41 AM, Jeffy Chen wrote:
> Currently we are allocating drm_device in rockchip_drm_bind, so if the
> suspend/resume code access it when drm is not bound, we would hit this
> crash:
>
> [ 253.402836] Unable to handle kernel NULL pointer
On Wed, Aug 9, 2017 at 6:41 AM, Jeffy Chen wrote:
> Currently we are allocating drm_device in rockchip_drm_bind, so if the
> suspend/resume code access it when drm is not bound, we would hit this
> crash:
>
> [ 253.402836] Unable to handle kernel NULL pointer dereference at virtual
> address
On Mon, Jul 31, 2017 at 5:49 AM, Mark Yao wrote:
> Here are some fixes port from rockchip_linux project[0],
>
> Tested on rk3399 and rk3288 board.
>
> [0]: https://github.com/rockchip-linux/kernel
>
> Mark Yao (6):
> drm/rockchip: vop: no need wait vblank on crtc enable
On Mon, Jul 31, 2017 at 5:49 AM, Mark Yao wrote:
> Here are some fixes port from rockchip_linux project[0],
>
> Tested on rk3399 and rk3288 board.
>
> [0]: https://github.com/rockchip-linux/kernel
>
> Mark Yao (6):
> drm/rockchip: vop: no need wait vblank on crtc enable
> drm/rockchip: vop:
vet...@intel.com>
> Cc: Jani Nikula <jani.nik...@linux.intel.com>
> Cc: Sean Paul <seanp...@chromium.org>
> Cc: Inki Dae <inki@samsung.com>
> Cc: Joonyoung Shim <jy0922.s...@samsung.com>
> Cc: Seung-Woo Kim <sw0312@samsung.com>
> Cc: Kyungmin P
Hi Rob,
Thanks for sending this patch, and thanks to Laurent, Philipp, and Maxime for
reviews/acks.
I've applied it to drm-misc-next.
Sean
> Cc: Russell King
> Cc: David Airlie
> Cc: Daniel Vetter
> Cc: Jani Nikula
> Cc: Sean Paul
> Cc: Inki Dae
> Cc: Joonyoung Shim
>
AGE_LEVEL_1,
> @@ -478,5 +483,6 @@ int cdn_dp_set_video_status(struct cdn_dp_device *dp, int
> active);
> 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);
> +void cdn_dp_sdp_write(struct cdn_dp_device *dp, int entry_id, u8 *buf, u32
> len);
> int cdn_dp_audio_config(struct cdn_dp_device *dp, struct audio_info *audio);
> #endif /* _CDN_DP_REG_H */
> --
> 2.6.3
>
--
Sean Paul, Software Engineer, Google / Chromium OS
t; @@ -478,5 +483,6 @@ int cdn_dp_set_video_status(struct cdn_dp_device *dp, int
> active);
> 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);
> +void cdn_dp_sdp_write(struct cdn_dp_device *dp, int entry_id, u8 *buf, u32
> len);
> int cdn_dp_audio_config(struct cdn_dp_device *dp, struct audio_info *audio);
> #endif /* _CDN_DP_REG_H */
> --
> 2.6.3
>
--
Sean Paul, Software Engineer, Google / Chromium OS
> >
> > @@ -2254,8 +2258,12 @@ EXPORT_SYMBOL(drm_atomic_helper_cleanup_planes);
> > * the _plane.state, _crtc.state or _connector.state pointer.
> > With
> > * the current atomic helpers this is almost always the case, since the
> > helpers
> >
lper_cleanup_planes);
> > * the _plane.state, _crtc.state or _connector.state pointer.
> > With
> > * the current atomic helpers this is almost always the case, since the
> > helpers
> > * don't pass the right state structures to the callbacks.
On Thu, Jul 13, 2017 at 09:45:12AM +0800, Mark yao wrote:
> On 2017年07月13日 01:53, Sean Paul wrote:
> > On Wed, Jul 12, 2017 at 10:03:38AM +0800, Mark Yao wrote:
> >
> > Please add a commit message describing *what* and *why* you are making the
> > change.
>
&
On Thu, Jul 13, 2017 at 09:45:12AM +0800, Mark yao wrote:
> On 2017年07月13日 01:53, Sean Paul wrote:
> > On Wed, Jul 12, 2017 at 10:03:38AM +0800, Mark Yao wrote:
> >
> > Please add a commit message describing *what* and *why* you are making the
> > change.
>
&
On Thu, Jul 13, 2017 at 09:33:45AM +0800, Mark yao wrote:
> On 2017年07月13日 00:47, Sean Paul wrote:
> > On Wed, Jul 12, 2017 at 10:03:27AM +0800, Mark Yao wrote:
> > > Register init table use un-document define, it is unreadable,
> > > And sometimes we only want to u
On Thu, Jul 13, 2017 at 09:33:45AM +0800, Mark yao wrote:
> On 2017年07月13日 00:47, Sean Paul wrote:
> > On Wed, Jul 12, 2017 at 10:03:27AM +0800, Mark Yao wrote:
> > > Register init table use un-document define, it is unreadable,
> > > And sometimes we only want to u
On Wed, Jul 12, 2017 at 9:31 PM, Mark yao <mark@rock-chips.com> wrote:
> On 2017年07月13日 02:33, Sean Paul wrote:
>
> On Wed, Jul 12, 2017 at 10:03:54AM +0800, Mark Yao wrote:
>
> Vop Full framework now has following vops:
> IP versionchipname
> 3
On Wed, Jul 12, 2017 at 9:31 PM, Mark yao wrote:
> On 2017年07月13日 02:33, Sean Paul wrote:
>
> On Wed, Jul 12, 2017 at 10:03:54AM +0800, Mark Yao wrote:
>
> Vop Full framework now has following vops:
> IP versionchipname
> 3.1 rk3288
> 3.2
stem is a little strange. For example, is each version
guaranteed to have the registered defined for the previous version (ie: 3.6
contains all registers defined for 3.5)?
Sean
> --
> 1.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
stered defined for the previous version (ie: 3.6
contains all registers defined for 3.5)?
Sean
> --
> 1.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
On Wed, Jul 12, 2017 at 10:03:46AM +0800, Mark Yao wrote:
Again, please add commit message describing the what and why of this change.
You can also add:
Reviewed-by: Sean Paul <seanp...@chromium.org>
> Signed-off-by: Mark Yao <mark@rock-chips.com>
> ---
> dri
On Wed, Jul 12, 2017 at 10:03:46AM +0800, Mark Yao wrote:
Again, please add commit message describing the what and why of this change.
You can also add:
Reviewed-by: Sean Paul
> Signed-off-by: Mark Yao
> ---
> drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 +-
> drivers/gpu/
offset = off, \
>.mask = _mask, \
>.shift = s, \
> - .write_mask = false,}
> + .write_mask = _write_mask, \
> + .major = _major, \
> + .begin_minor = _begin_minor, \
> + .en
.mask = _mask, \
>.shift = s, \
> - .write_mask = false,}
> + .write_mask = _write_mask, \
> + .major = _major, \
> + .begin_minor = _begin_minor, \
> + .end_minor = _end_minor,}
> +
> +#define VOP_REG_VER(off, _mask, s, _major, _begin_minor, _end_minor) \
> + VOP_REG_VER_MASK(off, _mask, s, false, \
> + _major, _begin_minor, _end_minor)
> +
> +#define VOP_REG(off, _mask, s) \
> + VOP_REG_VER(off, _mask, s, 0, 0, -1)
>
> #define VOP_REG_MASK(off, _mask, s) \
> - {.offset = off, \
> - .mask = _mask, \
> - .shift = s, \
> - .write_mask = true,}
> + VOP_REG_VER_MASK(off, _mask, s, true, 0, 0, -1)
>
> static const uint32_t formats_win_full[] = {
> DRM_FORMAT_XRGB,
> --
> 1.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
; - {RK3399_WIN2_CTRL0, 0x0010},
> - {RK3399_WIN3_CTRL0, 0x0010},
> -};
> -
> static const struct vop_data rk3399_vop_big = {
> - .init_table = rk3399_init_reg_table,
> - .table_size = ARRAY_SIZE(rk3399_init_reg_table),
> .feature = VOP_FEATURE_OUTPUT_RGB10,
> .intr = _vop_intr,
> .ctrl = _ctrl_data,
> @@ -362,8 +329,6 @@
> };
>
> static const struct vop_data rk3399_vop_lit = {
> - .init_table = rk3399_init_reg_table,
> - .table_size = ARRAY_SIZE(rk3399_init_reg_table),
> .intr = _vop_intr,
> .ctrl = _ctrl_data,
> /*
> --
> 1.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
2_CTRL0, 0x0010},
> - {RK3399_WIN3_CTRL0, 0x0010},
> -};
> -
> static const struct vop_data rk3399_vop_big = {
> - .init_table = rk3399_init_reg_table,
> - .table_size = ARRAY_SIZE(rk3399_init_reg_table),
> .feature = VOP_FEATURE_OUTPUT_RGB10,
> .intr = _vop_intr,
> .ctrl = _ctrl_data,
> @@ -362,8 +329,6 @@
> };
>
> static const struct vop_data rk3399_vop_lit = {
> - .init_table = rk3399_init_reg_table,
> - .table_size = ARRAY_SIZE(rk3399_init_reg_table),
> .intr = _vop_intr,
> .ctrl = _ctrl_data,
> /*
> --
> 1.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
amp; refresh, the right mode clock is selected.
>
> Cc: Daniel Vetter <daniel.vet...@intel.com>
> Cc: Jani Nikula <jani.nik...@linux.intel.com>
> Cc: Sean Paul <seanp...@chromium.org>
> Cc: David Airlie <airl...@linux.ie>
> Cc: Rob Clark <robdcl...@gmail.c
amp; refresh, the right mode clock is selected.
>
> Cc: Daniel Vetter
> Cc: Jani Nikula
> Cc: Sean Paul
> Cc: David Airlie
> Cc: Rob Clark
> Cc: Xinliang Liu
> Cc: Xinliang Liu
> Cc: Rongrong Zou
> Cc: Xinwei Kong
> Cc: Chen Feng
> Cc: Jose Abreu
> Cc: A
port = devm_kzalloc(dev, sizeof(*port), GFP_KERNEL);
> > - if (!dp)
> > + if (!port)
> > return -ENOMEM;
> > port->extcon = extcon;
>
>
> --
> Mark Yao
>
>
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
of(*port), GFP_KERNEL);
> > - if (!dp)
> > + if (!port)
> > return -ENOMEM;
> > port->extcon = extcon;
>
>
> --
> Mark Yao
>
>
> ___
> dri-devel mailing list
> dri-de...@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Sean Paul, Software Engineer, Google / Chromium OS
t; +*/
> > + if (c == 0 && (arg->flags & DRM_MODE_PAGE_FLIP_EVENT))
> > + return -EINVAL;
> > +
> > return 0;
> > }
> >
> > @@ -2179,6 +2188,8 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
> > drm_mode_object_unreference(obj);
> > }
> >
> > +
> > +
>
> Remove these extraneous newlines.
>
> Harry
>
> > ret = prepare_crtc_signaling(dev, state, arg, file_priv, _state,
> > _fences);
> > if (ret)
> >
--
Sean Paul, Software Engineer, Google / Chromium OS
&& (arg->flags & DRM_MODE_PAGE_FLIP_EVENT))
> > + return -EINVAL;
> > +
> > return 0;
> > }
> >
> > @@ -2179,6 +2188,8 @@ int drm_mode_atomic_ioctl(struct drm_device *dev,
> > drm_mode_object_unreference(obj);
> > }
> >
> > +
> > +
>
> Remove these extraneous newlines.
>
> Harry
>
> > ret = prepare_crtc_signaling(dev, state, arg, file_priv, _state,
> > _fences);
> > if (ret)
> >
--
Sean Paul, Software Engineer, Google / Chromium OS
+ struct drm_atomic_state *state;
> +
> state = kzalloc(sizeof(*state), GFP_KERNEL);
> if (!state)
> return NULL;
> --
> 2.10.0
>
>
> ---
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus
--
Sean Paul, Software Engineer, Google / Chromium OS
+ struct drm_atomic_state *state;
> +
> state = kzalloc(sizeof(*state), GFP_KERNEL);
> if (!state)
> return NULL;
> --
> 2.10.0
>
>
> ---
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus
--
Sean Paul, Software Engineer, Google / Chromium OS
t drm_device;
> -
> struct drm_connector_helper_funcs;
> struct drm_modeset_acquire_ctx;
> struct drm_device;
> --
> 2.10.0
>
>
> ---
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus
--
Sean Paul, Software Engineer, Google / Chromium OS
; -
> struct drm_connector_helper_funcs;
> struct drm_modeset_acquire_ctx;
> struct drm_device;
> --
> 2.10.0
>
>
> ---
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus
--
Sean Paul, Software Engineer, Google / Chromium OS
+= meson_probe_remote(pdev, , np, remote);
> }
>
> + if (count && !match)
> + return meson_drv_bind_master(>dev, false);
> +
> /* If some endpoints were found, initialize the nodes */
> if (count) {
> dev_info(>dev, "Queued %d outputs on vpu\n", count);
> --
> 1.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
}
>
> + if (count && !match)
> + return meson_drv_bind_master(>dev, false);
> +
> /* If some endpoints were found, initialize the nodes */
> if (count) {
> dev_info(>dev, "Queued %d outputs on vpu\n", count);
> --
> 1.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
On Fri, Jun 2, 2017 at 2:52 PM, Sean Paul <seanp...@chromium.org> wrote:
> On Fri, Jun 2, 2017 at 2:00 PM, John Stultz <john.stu...@linaro.org> wrote:
>> On Tue, May 23, 2017 at 8:04 PM, Xinliang Liu <xinliang@linaro.org>
>> wrote:
>>> On 2
On Fri, Jun 2, 2017 at 2:52 PM, Sean Paul wrote:
> On Fri, Jun 2, 2017 at 2:00 PM, John Stultz wrote:
>> On Tue, May 23, 2017 at 8:04 PM, Xinliang Liu
>> wrote:
>>> On 24 May 2017 at 00:40, John Stultz wrote:
>>>>
>>>> This fixes a regressio
drm/pl111: Initial drm/kms driver for pl111")
> Reported-by: Mircea Carausu <mircea.cara...@broadcom.com>
Reviewed-by: Sean Paul <seanp...@chromium.org>
> ---
> drivers/gpu/drm/pl111/pl111_display.c | 15 ++-
> 1 file changed, 2 insertions(+),
kms driver for pl111")
> Reported-by: Mircea Carausu
Reviewed-by: Sean Paul
> ---
> drivers/gpu/drm/pl111/pl111_display.c | 15 ++-
> 1 file changed, 2 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/pl111/pl111_display.c
> b/drivers/gpu/
401 - 500 of 1122 matches
Mail list logo