On 11.05.2022 17:47, Marek Vasut wrote:
> On 5/11/22 16:58, Marek Szyprowski wrote:
>> Hi Dave,
>>
>> On 05.04.2022 13:43, Dave Stevenson wrote:
>>> On Fri, 18 Mar 2022 at 12:25, Dave Stevenson
>>> wrote:
>>>> On Fri, 4 Mar 2022 at 15:18, Dave
> - dsi->state |= DSIM_STATE_INITIALIZED;
> - }
> + ret = samsung_dsim_init(dsi);
> + if (ret)
> + return ret;
>
> ret = mipi_dsi_create_packet(, msg);
> if (ret < 0)
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
ithout the bridge chain order hacks.
Feel free to add:
Tested-by: Marek Szyprowski
The only remaining thing to resolve is the moment of enabling DSI host.
The proper sequence is:
1. host power on, 2. device power on, 3. host init, 4. device init, 5.
video enable.
#1 is done in dsi's pre_enab
pecific operations and other glue calls will invoke
>on associate code areas.
>
> v2:
> * fixed exynos dsi driver conversion (Marek Szyprowski)
> * updated commit message
> * updated MAINTAINERS file
>
> v1:
> * Don't maintain component_ops in bridge driver
> * Don't
bridge_destroy_state,
> .atomic_reset = drm_atomic_helper_bridge_reset,
> + .atomic_check = samsung_dsim_atomic_check,
> .atomic_pre_enable = samsung_dsim_atomic_pre_enable,
> .atomic_enable = samsung_dsim_atomic_enable,
> .atomic_disable = samsung_dsim_atomic_disable,
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
pecific operations and other glue calls will invoke
>on associate code areas.
>
> v2:
> * fixed exynos dsi driver conversion (Marek Szyprowski)
> * updated commit message
> * updated MAINTAINERS file
>
> v1:
> * Don't maintain component_ops in bridge driver
> * Don't
> +}
> +module_exit(samsung_mipi_dsim_exit);
> +
> MODULE_AUTHOR("Jagan Teki ");
> MODULE_DESCRIPTION("Samsung MIPI DSIM controller bridge");
> MODULE_LICENSE("GPL");
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
Hi Dave,
On 06.05.2022 12:50, Dave Stevenson wrote:
> On Fri, 6 May 2022 at 09:57, Marek Szyprowski
> wrote:
>> On 05.05.2022 13:55, Alexander Stein wrote:
>>> Am Donnerstag, 5. Mai 2022, 09:38:48 CEST schrieb Jagan Teki:
>>>> On Thu, May 5, 2022 at 12:57 PM
nable()
operations is completely useless for the DSI hardware and noone pointed
how to solve this. Exynos DSI (and VC4) called those operations directly
to achieve proper order. So what happened? Now Exynos DSI got converted
to the generic bridge call chain. To get it working with existing hw,
the order of the bridges has been hacked. Probably in the next few
releases more mess will come to get around this known issue, especially
when support for the next set of imx boards is added.
I'm really open to help fixing this issue. I've spent a lot of time
analyzing this code and I have boards to test. Just please give me some
advice how to avoid this reverse-order call chain of the pre_enable()
operations in the widely accepted, non-hacky way.
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
Hi Jagan,
On 04.05.2022 11:16, Jagan Teki wrote:
> Hi Marek,
>
> On Tue, Apr 12, 2022 at 3:15 PM Marek Szyprowski
> wrote:
>> Hi Jagan,
>>
>> On 08.04.2022 18:20, Jagan Teki wrote:
>>> Samsung MIPI DSIM controller is common DSI IP that can be used in va
ext to DSI. See devm_drm_of_get_bridge()
function, it does exactly the same things (managed panel_bridge or
simple pointer to the real next bridge). I agree that this is not very
obvious at the first sight, but that's how the code is now structured.
Please queue this to drm-misc-next, so the Exynos DSI will be again
operational after merging the drm-misc-fixes and drm-misc-next.
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
ff-by: Jagan Teki
This restores Exynos DSI driver operation in linux-next after the
mentioned commits went via drm-misc-fixes tree.
Tested-by: Marek Szyprowski
> ---
> drivers/gpu/drm/exynos/exynos_drm_dsi.c | 12 +++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
have a clear idea of which driver would need to be switched
>>> over though. Could someone (Jagan?) let me know where it would be needed?
>> sun6i_mipi_dsi
> It doesn't look like sun6i_mipi_dsi is using devm_drm_of_get_bridge at all?
>
>> exynos_drm_dsi
> If you reference 711c7adc4687, I don't see why we would need to switch
> it back to the old behaviour. It wasn't iterating over its child node
> before, so what does the switch to drm_of_get_bridge broke exactly?
It broke getting the panel if it is a direct child of the DSI device
node. It worked before because it used following code:
dsi->panel = of_drm_find_panel(device->dev.of_node);
which got replaced by devm_drm_of_get_bridge().
>> mcde_dsi (as of now)
> Yeah, we do need to revert 3730bc6147b0 and 3d7039e1e649
>
> Maxime
>
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
Hi Laurent,
On 19.04.2022 19:37, Laurent Pinchart wrote:
> On Tue, Apr 19, 2022 at 06:16:07PM +0200, Robert Foss wrote:
>> On Tue, 19 Apr 2022 at 11:41, Jagan Teki wrote:
>>> On Tue, Apr 19, 2022 at 2:44 PM Marek Szyprowski
>>> wrote:
>>>> If panel_b
needed.
Fixes: 934aef885f9d ("drm: bridge: panel: Reset the connector state pointer")
Signed-off-by: Marek Szyprowski
---
Here is a bit more backgroud on this issue is available in this thread:
https://lore.kernel.org/all/f0474a95-4ba3-a74f-d7de-ef7aab12b...@samsung.com/
---
drivers/gpu/
Dear All,
On 07.04.2022 13:24, Marek Szyprowski wrote:
> On 31.03.2022 16:22, Robert Foss wrote:
>> On Fri, 25 Mar 2022 at 17:04, Adam Ford wrote:
>>> On Fri, Mar 25, 2022 at 10:00 AM Marek Szyprowski
>>> wrote:
>>>> On 03.03.2022 17:36, Jagan Teki wrote
sim_plat_remove(dsi);
> + else
> + mipi_dsi_host_unregister(>dsi_host);
>
> return 0;
> }
> diff --git a/include/drm/bridge/samsung-dsim.h
> b/include/drm/bridge/samsung-dsim.h
> index 59a43f9c4477..eca7eacb5910 100644
> --- a/include/drm/bridge/samsung-dsim.h
> +++ b/include/drm/bridge/samsung-dsim.h
> @@ -39,6 +39,7 @@ struct samsung_dsim_driver_data {
> unsigned int wait_for_reset;
> unsigned int num_bits_resol;
> const unsigned int *reg_values;
> + bool platform_init;
> };
>
> struct samsung_dsim_host_ops {
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
king state as
before this patch (the next patches however break it even further):
commit e358ee6239305744062713c5aa2e8d44f740b81a (HEAD)
Author: Marek Szyprowski
Date: Tue Apr 12 11:30:26 2022 +0200
drm: exynos: dsi: fixup driver after conversion
Signed-off-by: Marek Szyprowski
diff --git a/drivers
On 11.04.2022 16:39, Adam Ford wrote:
> On Mon, Apr 11, 2022 at 8:56 AM Marek Szyprowski
> wrote:
>> On 08.04.2022 18:20, Jagan Teki wrote:
>>> This series supports common bridge support for Samsung MIPI DSIM
>>> which is used in Exynos and i.MX8MM SoC's.
>>
> include/drm/bridge/samsung-dsim.h | 97 +
> 8 files changed, 1982 insertions(+), 1649 deletions(-)
> create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c
> create mode 100644 include/drm/bridge/samsung-dsim.h
>
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
Dear All,
On 31.03.2022 16:22, Robert Foss wrote:
> On Fri, 25 Mar 2022 at 17:04, Adam Ford wrote:
>> On Fri, Mar 25, 2022 at 10:00 AM Marek Szyprowski
>> wrote:
>>> On 03.03.2022 17:36, Jagan Teki wrote:
>>>> Updated series about drm bridge conversion of ex
On 03.03.2022 17:36, Jagan Teki wrote:
> The new support drm bridges are moving towards atomic functions.
>
> Replace atomic version of functions to continue the transition
> to the atomic API.
>
> Signed-off-by: Jagan Teki
Acked-by: Marek Szyprowski
Tested-by
ate pre_enable from enable function.
>
> - Separate post_disable from disable function.
>
> Convert it.
>
> Signed-off-by: Jagan Teki
Acked-by: Marek Szyprowski
Tested-by: Marek Szyprowski
> ---
> Changes for v6, v5:
> - none
> Changes for v4:
> - add pre
tachment.
>
> - Drops panel pointer and iterate the bridge, so-that it can operate
>the normal bridge and panel_bridge in constitutive callbacks.
>
> This simplifies the driver and allows all components in the display
> pipeline to be treated as bridges.
>
> Signed-off-by: Jag
bridge attachment more meaningful and avoids the races
> during bridge function calls.
>
> So, move the bridge finding and drm_bridge_attach from DSI to MIC.
>
> Signed-off-by: Jagan Teki
Acked-by: Marek Szyprowski
Tested-by: Marek Szyprowski
> ---
> Changes for v6:
>
connector by freeing the state pointer
> and allocate a new empty state object. This can be done using connector
> funcs->reset helper and has to be done before the hotplug even calls.
>
> This patch calls the connector->funcs->reset in panel_bridge_attach.
>
> Sign
tachment.
>
> - Drops panel pointer and panel healpers.
>
> This simplifies the driver and allows all components in the display
> pipeline to be treated as bridges.
>
> Signed-off-by: Jagan Teki
Acked-by: Marek Szyprowski
Tested-by: Marek Szyprowski
> ---
> Changes for v
ynos/exynos_drm_dsi.c | 241 ++--
> drivers/gpu/drm/exynos/exynos_drm_mic.c | 22 +++
> 4 files changed, 93 insertions(+), 277 deletions(-)
>
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
ately. The performance improvements in the original commit do not
> regress by this change.
>
> Signed-off-by: Thomas Zimmermann
> Fixes: 0d03011894d2 ("fbdev: Improve performance of cfb_imageblit()")
> Reported-by: Marek Szyprowski
> Cc: Thomas Zimmermann
> Cc: Javier Ma
Hi,
On 09.03.2022 09:22, Thomas Zimmermann wrote:
> Am 08.03.22 um 23:52 schrieb Marek Szyprowski:
>> On 23.02.2022 20:38, Thomas Zimmermann wrote:
>>> Improve the performance of cfb_imageblit() by manually unrolling
>>> the inner blitting loop and moving some i
FB_WRITEL(colortab[(*src >> 5) & bit_mask],
> dst++);
> + FB_WRITEL(colortab[(*src >> 4) & bit_mask],
> dst++);
> + FB_WRITEL(colortab[(*src >> 3) & bit_mask],
> dst++);
> + FB_WRITEL(colortab[(*src >> 2) & bit_mask],
> dst++);
> + FB_WRITEL(colortab[(*src >> 1) & bit_mask],
> dst++);
> + FB_WRITEL(colortab[(*src >> 0) & bit_mask],
> dst++);
> + }
> + break;
> }
> +
> dst1 += p->fix.line_length;
> s += spitch;
> }
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
gt;> How about reverting it until this patch series is merged after fixing the
>> real user problem?
> The Exynos5433 DECON bindings were already merged by Rob, so someone
> would need to send a revert. However this does not answer the actual
> question - whether the "dsd&q
queue("events_freezable_power_efficient",
> - WQ_FREEZABLE | WQ_POWER_EFFICIENT,
> - 0);
> + system_freezable_wq =
> + alloc_workqueue("events_freezable", WQ_WARN_FLUSH_ATTEMPT |
> WQ_FREEZABLE, 0);
> + system_power_efficient_wq =
> + alloc_workqueue("events_power_efficient",
> + WQ_WARN_FLUSH_ATTEMPT | WQ_POWER_EFFICIENT, 0);
> + system_freezable_power_efficient_wq =
> + alloc_workqueue("events_freezable_power_efficient",
> + WQ_WARN_FLUSH_ATTEMPT | WQ_FREEZABLE |
> WQ_POWER_EFFICIENT, 0);
> BUG_ON(!system_wq || !system_highpri_wq || !system_long_wq ||
> !system_unbound_wq || !system_freezable_wq ||
> !system_power_efficient_wq ||
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
the conversion to gpiod API.
Fixes: ee6c8b5afa62 ("drm/exynos: Replace legacy gpio interface for gpiod
interface")
Signed-off-by: Marek Szyprowski
---
drivers/gpu/drm/exynos/exynos_drm_dsi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/exynos/exynos_dr
Hi Jagan,
On 21.01.2022 12:40, Jagan Teki wrote:
> On Fri, Jan 21, 2022 at 5:06 PM Marek Szyprowski
> wrote:
>> On 17.01.2022 09:42, Jagan Teki wrote:
>>> Updated series about drm bridge conversion of exynos dsi.
>>>
>>> Previous version can be accessibl
okup if
child node has panel or bridge'. In such case the board freezes during
the drm initialization.
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
() if no
TE-gpio is found.
Fixes: ee6c8b5afa62 ("drm/exynos: Replace legacy gpio interface for gpiod
interface")
Signed-off-by: Marek Szyprowski
---
drivers/gpu/drm/exynos/exynos_drm_dsi.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/
Hi Jagan,
On 18.12.2021 00:16, Marek Szyprowski wrote:
> On 15.12.2021 15:56, Jagan Teki wrote:
>> On Wed, Dec 15, 2021 at 7:49 PM Marek Szyprowski
>> wrote:
>>> On 15.12.2021 13:57, Jagan Teki wrote:
>>>> On Wed, Dec 15, 2021 at 5:31 PM Marek Szyprowski
&g
Hi Jagan,
On 15.12.2021 15:56, Jagan Teki wrote:
> On Wed, Dec 15, 2021 at 7:49 PM Marek Szyprowski
> wrote:
>> On 15.12.2021 13:57, Jagan Teki wrote:
>>> On Wed, Dec 15, 2021 at 5:31 PM Marek Szyprowski
>>> wrote:
>>>> On 15.12.2021 11:15, Jagan
Hi Jagan,
On 15.12.2021 13:57, Jagan Teki wrote:
> On Wed, Dec 15, 2021 at 5:31 PM Marek Szyprowski
> wrote:
>> On 15.12.2021 11:15, Jagan Teki wrote:
>>> Updated series about drm bridge conversion of exynos dsi.
>>> Previous version can be accessible, here [1].
&g
ust after applying the "[PATCH v2] drm: bridge:
tc358764: Use drm panel_bridge API" patch on top of linux-next.
In all cases the I had "drm: of: Lookup if child node has panel or
bridge" patch applied.
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
Hi Jagan,
On 14.12.2021 11:47, Jagan Teki wrote:
> On Mon, Dec 13, 2021 at 7:42 PM Marek Szyprowski
> wrote:
>> On 13.12.2021 14:56, Jagan Teki wrote:
>>> On Mon, Dec 13, 2021 at 6:51 PM Marek Szyprowski
>>> wrote:
>>>> On 13.12.2021 13:31, Jagan Teki
Hi Jagan,
On 13.12.2021 14:56, Jagan Teki wrote:
> On Mon, Dec 13, 2021 at 6:51 PM Marek Szyprowski
> wrote:
>> On 13.12.2021 13:31, Jagan Teki wrote:
>>> On Mon, Dec 13, 2021 at 5:42 PM Marek Szyprowski
>>> wrote:
>>>> On 13.12.2021 13:08, Jagan Teki
Hi Jagan,
On 13.12.2021 13:31, Jagan Teki wrote:
> On Mon, Dec 13, 2021 at 5:42 PM Marek Szyprowski
> wrote:
>> On 13.12.2021 13:08, Jagan Teki wrote:
>>> On Mon, Dec 13, 2021 at 5:34 PM Marek Szyprowski
>>> wrote:
>>>> On 12.12.2021 19:14, Jagan
Hi Jagan,
On 13.12.2021 13:08, Jagan Teki wrote:
> On Mon, Dec 13, 2021 at 5:34 PM Marek Szyprowski
> wrote:
>> On 12.12.2021 19:14, Jagan Teki wrote:
>>> Updated series about drm bridge conversion of exynos dsi.
>>>
>>> Patch 1: panel checker
>>&g
si: Separate pre_enable, post_disable code
>drm: exynos: dsi: Switch to atomic funcs
>drm: exynos: dsi: Get the mode from bridge
>drm: exynos: dsi: Move DSI init in bridge enable
>
> drivers/gpu/drm/exynos/exynos_drm_dsi.c | 240 ++++
> 1 file changed, 75 insertions(+), 165 deletions(-)
>
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
Hi Jagan,
On 24.11.2021 06:32, Jagan Teki wrote:
> On Mon, Nov 22, 2021 at 9:34 PM Marek Szyprowski
> wrote:
>> On 22.11.2021 16:07, Marek Szyprowski wrote:
>>> On 22.11.2021 15:55, Jagan Teki wrote:
>>>> On Mon, Nov 22, 2021 at 7:59 PM Jagan Teki
>>>&g
On 22.11.2021 16:07, Marek Szyprowski wrote:
> On 22.11.2021 15:55, Jagan Teki wrote:
>> On Mon, Nov 22, 2021 at 7:59 PM Jagan Teki
>> wrote:
>>> On Mon, Nov 22, 2021 at 7:51 PM Jagan Teki
>>> wrote:
>>>> On Mon, Nov 22, 2021 at 7:45 PM Marek Szyp
On 22.11.2021 15:55, Jagan Teki wrote:
> On Mon, Nov 22, 2021 at 7:59 PM Jagan Teki wrote:
>> On Mon, Nov 22, 2021 at 7:51 PM Jagan Teki
>> wrote:
>>> On Mon, Nov 22, 2021 at 7:45 PM Marek Szyprowski
>>> wrote:
>>>> On 22.11.2021 08:06, Jagan Teki w
e.dts
> which includes arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi.
>
> In this dtsi there is a "sil,sii8620" bridge.
Sii8620 bridge is attached to the HDMI display path. That's completely
different from the DSI display path modified by this patchset.
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
Hi Jagan,
On 22.11.2021 15:21, Jagan Teki wrote:
> On Mon, Nov 22, 2021 at 7:45 PM Marek Szyprowski
> wrote:
>> On 22.11.2021 08:06, Jagan Teki wrote:
>>> Some display panels would come up with a non-DSI output, those
>>> can have an option to connect the
handle drm bridge functionalities in order to DSI
> Host to Interface bridge.
>
> This patch convert the existing to a drm bridge driver with a
> built-in encoder support for compatibility with existing
> component drivers.
>
> Signed-off-by: Jagan Teki
> ---
> Note:
> Hi
Hi Mexime,
On 29.10.2021 10:05, Maxime Ripard wrote:
> On Fri, Oct 29, 2021 at 08:23:45AM +0200, Marek Szyprowski wrote:
>> On 25.10.2021 17:15, Maxime Ripard wrote:
>>> In order to avoid any probe ordering issue, the best practice is to move
>>> the secondary M
drm_bridge_remove(>bridge);
> err_unregister_cec:
> i2c_unregister_device(adv7511->i2c_cec);
> clk_disable_unprepare(adv7511->cec_clk);
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
ION (G2D) SUPPORT
> -M: Andrzej Hajda
> +M: Łukasz Stelmach
> L: linux-arm-ker...@lists.infradead.org (moderated for non-subscribers)
> L: linux-me...@vger.kernel.org
> S: Maintained
> @@ -2570,7 +2570,8 @@ S: Maintained
> F: drivers/media/platform/s5p-jpeg/
>
Hi Maxime,
On 22.09.2021 10:53, Maxime Ripard wrote:
> On Fri, Sep 17, 2021 at 02:35:05PM +0200, Marek Szyprowski wrote:
>> On 13.09.2021 12:30, Andrzej Hajda wrote:
>>> W dniu 10.09.2021 o 12:12, Maxime Ripard pisze:
>>>> Without proper care and an agreement bet
ut it adds/removes panel/bridge
> dynamically, so it creates drm_device without waiting for downstream sink.
Right, this patch breaks Exynos DSI driver operation. Without it, the
whole series works fine on all Exynos based test boards.
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
On 05.07.2021 14:00, Jagan Teki wrote:
> On Mon, Jul 5, 2021 at 5:18 PM Marek Szyprowski
> wrote:
>> On 04.07.2021 11:02, Jagan Teki wrote:
>>> Use drm_panel_bridge to replace manual panel and
>>> bridge_chain handling code.
>>>
>>> This
eturn ret;
>
> /*
>* This is a temporary solution and should be made by more generic way.
> @@ -1607,19 +1500,6 @@ static int exynos_dsi_host_detach(struct mipi_dsi_host
> *host,
> struct exynos_dsi *dsi = host_to_dsi(host);
> struct drm_device *drm = dsi-&
t; | 07360480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> | 07360500: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> | ==========
>
> Link:
> https://lore.kernel.org/r/4d0c8318-bad8-2be7-e292-fc8
ate);
> + drm_dbg_atomic(conn->dev,
> +"Set [NOFB] for connector state %p\n",
> +conn_state);
>
> return 0;
> }
> @@ -782,9 +800,10 @@ static int drm_atomic_connector_set_property(struct
> drm_connector *connector,
> return connector->funcs->atomic_set_property(connector,
> state, property, val);
> } else {
> - DRM_DEBUG_ATOMIC("[CONNECTOR:%d:%s] unknown property
> [PROP:%d:%s]]\n",
> - connector->base.id, connector->name,
> - property->base.id, property->name);
> + drm_dbg_atomic(connector->dev,
> +"[CONNECTOR:%d:%s] unknown property
> [PROP:%d:%s]]\n",
> +connector->base.id, connector->name,
> +property->base.id, property->name);
> return -EINVAL;
> }
>
> @@ -1282,7 +1301,7 @@ static void complete_signaling(struct drm_device *dev,
> /* If this fails log error to the user */
> if (fence_state[i].out_fence_ptr &&
> put_user(-1, fence_state[i].out_fence_ptr))
> - DRM_DEBUG_ATOMIC("Couldn't clear out_fence_ptr\n");
> + drm_dbg_atomic(dev, "Couldn't clear out_fence_ptr\n");
> }
>
> kfree(fence_state);
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
as first)
> the dts and drm/exynos patches are applied.
>
> Hmm, maybe it's better to hold on with the drm patch, INTERCONNECT
> is disabled in arch/arm/configs/{multi_v7_defconfig, exynos_defconfig}
> but it is enabled in arch/arm64/configs/defconfig.
I don't think we need to delay DRM patch. Ex
d at (1282): [] __do_softirq+0x528/0x674
softirqs last disabled at (1269): [] irq_exit+0x1dc/0x1e8
---[ end trace 6f32a2fb4294655f ]---
I can do more tests to help fixing this issue. Just let me know what to do.
...
Best regards
--
Marek Szyprowski, Ph
current form, while iMX can start using
it as DRM bridge. A bit similar approach is used with exynos_dp driver
and analogix_dp bridge shared with other SoCs.
I hope that later, when the bridge related issue are resolved, the
Exynos can be converted too, so the encoder creation moved to FIMD and
Decon.
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
for DMA, it won't be moved in the memory. It will stay at the same
physical memory address all the time until freed by the owner. It just a
matter of proper usage count tracking to delay freeing if it is still
used somewhere.
Best regards
--
Marek Szyprowski, PhD
Add clock configuration for 154MHz pixelclock to Exynos542x HDMIPHY,
which is required for 1920x1200@60Hz mode. The PLL configuration data
has been taken from the vendor's kernel tree for the Odroid XU4 board.
Signed-off-by: Marek Szyprowski
---
drivers/gpu/drm/exynos/exynos_hdmi.c | 9
Hi Daniel,
On 07.10.2020 14:01, Daniel Vetter wrote:
> On Wed, Oct 7, 2020 at 12:47 PM Marek Szyprowski
> wrote:
>> On 03.10.2020 11:40, Daniel Vetter wrote:
>>>> After he three places above should use pin_user_pages_fast(), then
>>>> this whole broken API sho
This
basically works with any sane driver, which doesn't free the mmaped
buffer until the file is released. This is true for V4L2 and FBdev devices.
This API is considered as deprecated in V4L2 world, so I think
supporting this hack can be removed one day as nowadays userspace should
use dma buf
"drm/bridge: tc358764: add drm_panel_bridge support"
385ca38da29c "drm/bridge: tc358764: drop drm_connector_(un)register"
and removal of the calls to drm_panel_attach()/drm_panel_detach(), which
were no-ops and has been removed in meanwhile.
Signed-off-by: Marek Szyprowski
Hi All,
On 25.09.2020 23:23, Alex Deucher wrote:
> On Tue, Sep 22, 2020 at 2:28 AM Marek Szyprowski
> wrote:
>> On 22.09.2020 01:15, Alex Goins wrote:
>>> Tested-by: Alex Goins
>>>
>>> This change fixes a regression with drm_prime_sg_to_page_addr_arr
pecified gfp mask. Note that 'size' must be page aligned.
I also wonder if it would be better to use per-arch __dma_clear_buffer()
instead of setting __GFP_ZERO unconditionally in dma-iommu.c. This
should be faster on ARM with highmem...
> ...
Best regards
--
Marek Szyprowski, PhD
"drm/bridge: tc358764: add drm_panel_bridge support"
385ca38da29c "drm/bridge: tc358764: drop drm_connector_(un)register"
and removal of the calls to drm_panel_attach()/drm_panel_detach(), which
were no-ops and has been removed in meanwhile.
Signed-off-by: Marek Szyprowski
nflict in the -next.
Do you have any AMDGPU fixes for v5.9 in the queue? Maybe you can add
that patch to the queue? Dave: would it be okay that way?
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi all,
On 24.08.2020 13:40, Marek Szyprowski wrote:
> On 20.08.2020 17:08, Robin Murphy wrote:
>> After 5 years or so of intending to get round to this, finally the
>> time comes! The changes themselves actualy turn out to be relatively
>> mechanical; the bigger concern app
PP_CAP_CROP | DRM_EXYNOS_IPP_CAP_ROTATE |
> @@ -471,8 +470,7 @@ static void scaler_unbind(struct device *dev, struct
> device *master,
> struct exynos_drm_ipp *ipp = >ipp;
>
> exynos_drm_ipp_unregister(dev, ipp);
> - exynos_drm_unregister_dma(scaler->drm_dev, scaler->dev,
Hi,
On 14.09.2020 10:29, Marek Szyprowski wrote:
> On 11.09.2020 15:54, Michael Tretter wrote:
>> Make the exynos_dsi driver a full drm bridge that can be found and used
>> from other drivers.
>>
>> Other drivers can only attach to the bridge, if a mipi dsi
dsi *__exynos_dsi_probe(struct platform_device *pdev)
> {
> struct device *dev = >dev;
> + struct drm_bridge *bridge;
> struct resource *res;
> struct exynos_dsi *dsi;
> int ret, i;
> @@ -1894,11 +1933,19 @@ static struct exynos_dsi *__exynos_dsi_probe(struct
> platform_device *pdev)
> if (ret)
> return ERR_PTR(ret);
>
> + bridge = >bridge;
> + bridge->driver_private = dsi;
> + bridge->funcs = _dsi_bridge_funcs;
> + bridge->of_node = dev->of_node;
> + drm_bridge_add(bridge);
> +
> return dsi;
> }
>
> static void __exynos_dsi_remove(struct exynos_dsi *dsi)
> {
> + drm_bridge_remove(>bridge);
> +
> mipi_dsi_host_unregister(>dsi_host);
> }
>
Best regards
--
Marek Szyprowski, PhD
Samsung R Institute Poland
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Hi Dave & Daniel,
Please pull a set of fixes for various DRM drivers that finally resolve
incorrect usage of the scatterlists (struct sg_table nents and orig_nents
entries), what causes issues when IOMMU is used.
Best regards
Marek Szyprowski, PhD
Samsung R Institute Poland
The follo
Hi Tomasz,
On 07.09.2020 15:07, Tomasz Figa wrote:
> On Fri, Sep 4, 2020 at 3:35 PM Marek Szyprowski
> wrote:
>> Use recently introduced common wrappers operating directly on the struct
>> sg_table objects and scatterlist page iterators to make the code a bit
>> more
.
Signed-off-by: Marek Szyprowski
Reviewed-by: Robin Murphy
---
.../common/videobuf2/videobuf2-dma-contig.c | 34 ---
.../media/common/videobuf2/videobuf2-dma-sg.c | 32 +++--
.../common/videobuf2/videobuf2-vmalloc.c | 12 +++
3 files changed, 31 insertions
nts in turn holds the result of the dma_map_sg call as stated
in include/linux/scatterlist.h. Adapt the code to obey those rules.
While touching this code, update it to use the modern DMA_FROM_DEVICE
definitions.
Signed-off-by: Marek Szyprowski
---
drivers/media/pci/cx23885/cx23885-alsa.c
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
returns zero or an error code, so adjust the
return value check for the vsp1_du_map_sg() function.
Signed-off-by: Marek Szyprowski
Reviewed-by: Laurent Pinchart
---
drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 3 +--
drivers/media/platform/vsp1/vsp1_drm.c | 8
2 files changed, 5 insertions(+), 6
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
Use common helper for checking the contiguity of the imported dma-buf.
Signed-off-by: Marek Szyprowski
Reviewed-by: Andrzej Hajda
Acked-by : Inki Dae
---
drivers/gpu/drm/exynos/exynos_drm_gem.c | 23 +++
1 file changed, 3 insertions(+), 20 deletions(-)
diff --git
DRM
tree.
Best regards,
Marek Szyprowski
References:
[1] https://lkml.org/lkml/2020/3/27/555
[2] https://lkml.org/lkml/2020/3/29/65
[3] Documentation/DMA-API-HOWTO.txt
[4]
https://lore.kernel.org/linux-iommu/20200512121931.gd20...@lst.de/T/#ma18c958a48c3b241d5409517fa7d192eef87459b
Change
rectly on the struct sg_table objects to the dmabuf related functions,
so the other drivers, which might share buffers with i915 could rely on
the properly set nents and orig_nents values.
Signed-off-by: Marek Szyprowski
Reviewed-by: Robin Murphy
Reviewed-by: Michael J. Ruhl
---
drivers/gpu/dr
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
add missing call to dma_unmap_sgtable.
Signed-off-by: Marek Szyprowski
Reviewed-by: Robin Murphy
---
samples/vfio-mdev/mbochs.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c
index 3cc5e5921682..e03068917273 100644
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
a common dma-mapping wrappers operating
directly on the struct sg_table objects and use scatterlist page
iterators where possible. This, almost always, hides references to the
nents and orig_nents entries, making the code robust, easier to follow
and copy/paste safe.
Signed-off-by: Marek Szyprowski
101 - 200 of 1029 matches
Mail list logo