All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: georgi.djakov@linaro.org, cw00.choi@samsung.com,
	devicetree@vger.kernel.org, robh+dt@kernel.org,
	a.swigon@samsung.com, myungjoo.ham@samsung.com,
	inki.dae@samsung.com, sw0312.kim@samsung.com,
	b.zolnierkie@samsung.com, m.szyprowski@samsung.com,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-samsung-soc@vger.kernel.org,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v7 6/6] drm: exynos: mixer: Add interconnect support
Date: Sat, 31 Oct 2020 13:44:15 +0100	[thread overview]
Message-ID: <20201031124415.GD9399@kozik-lap> (raw)
In-Reply-To: <20201030125149.8227-7-s.nawrocki@samsung.com>

On Fri, Oct 30, 2020 at 01:51:49PM +0100, Sylwester Nawrocki wrote:
> This patch adds interconnect support to exynos-mixer. The mixer works
> the same as before when CONFIG_INTERCONNECT is 'n'.
> 
> For proper operation of the video mixer block we need to ensure the
> interconnect busses like DMC or LEFTBUS provide enough bandwidth so
> as to avoid DMA buffer underruns in the mixer block. I.e we need to
> prevent those busses from operating in low perfomance OPPs when
> the mixer is running.
> In this patch the bus bandwidth request is done through the interconnect
> API, the bandwidth value is calculated from selected DRM mode, i.e.
> video plane width, height, refresh rate and pixel format.
> 
> The bandwidth setting is synchronized with VSYNC when we are switching
> to lower bandwidth. This is required to ensure enough bandwidth for
> the device since new settings are normally being applied in the hardware
> synchronously with VSYNC.
> 
> Co-developed-by: Artur Świgoń <a.swigon@samsung.com>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> ---
> Changes for v7:
>  - fixed incorrect setting of the ICC bandwidth when the mixer is
>    disabled, now the bandwidth is set explicitly to 0 in such case.
> 
> Changes for v6:
>  - the icc_set_bw() call is now only done when calculated value for
>    a crtc changes, this avoids unnecessary calls per each video frame
>  - added synchronization of the interconnect bandwidth setting with
>    the mixer VSYNC in order to avoid buffer underflow when we lower
>    the interconnect bandwidth when the hardware still operates with
>    previous mode settings that require higher bandwidth. This fixed
>    IOMMU faults observed e.g. during switching from two planes to
>    a single plane operation.
> 
> Changes for v5:
>  - renamed soc_path variable to icc_path
> ---
>  drivers/gpu/drm/exynos/exynos_mixer.c | 146 ++++++++++++++++++++++++++++++++--
>  1 file changed, 138 insertions(+), 8 deletions(-)
> 

Acked-by: Krzysztof Kozlowski <krzk@kernel.org>

Best regards,
Krzysztof

WARNING: multiple messages have this Message-ID (diff)
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
	b.zolnierkie@samsung.com, linux-pm@vger.kernel.org,
	sw0312.kim@samsung.com, a.swigon@samsung.com, robh+dt@kernel.org,
	linux-kernel@vger.kernel.org, cw00.choi@samsung.com,
	myungjoo.ham@samsung.com, dri-devel@lists.freedesktop.org,
	georgi.djakov@linaro.org, m.szyprowski@samsung.com
Subject: Re: [PATCH v7 6/6] drm: exynos: mixer: Add interconnect support
Date: Sat, 31 Oct 2020 13:44:15 +0100	[thread overview]
Message-ID: <20201031124415.GD9399@kozik-lap> (raw)
In-Reply-To: <20201030125149.8227-7-s.nawrocki@samsung.com>

On Fri, Oct 30, 2020 at 01:51:49PM +0100, Sylwester Nawrocki wrote:
> This patch adds interconnect support to exynos-mixer. The mixer works
> the same as before when CONFIG_INTERCONNECT is 'n'.
> 
> For proper operation of the video mixer block we need to ensure the
> interconnect busses like DMC or LEFTBUS provide enough bandwidth so
> as to avoid DMA buffer underruns in the mixer block. I.e we need to
> prevent those busses from operating in low perfomance OPPs when
> the mixer is running.
> In this patch the bus bandwidth request is done through the interconnect
> API, the bandwidth value is calculated from selected DRM mode, i.e.
> video plane width, height, refresh rate and pixel format.
> 
> The bandwidth setting is synchronized with VSYNC when we are switching
> to lower bandwidth. This is required to ensure enough bandwidth for
> the device since new settings are normally being applied in the hardware
> synchronously with VSYNC.
> 
> Co-developed-by: Artur Świgoń <a.swigon@samsung.com>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> ---
> Changes for v7:
>  - fixed incorrect setting of the ICC bandwidth when the mixer is
>    disabled, now the bandwidth is set explicitly to 0 in such case.
> 
> Changes for v6:
>  - the icc_set_bw() call is now only done when calculated value for
>    a crtc changes, this avoids unnecessary calls per each video frame
>  - added synchronization of the interconnect bandwidth setting with
>    the mixer VSYNC in order to avoid buffer underflow when we lower
>    the interconnect bandwidth when the hardware still operates with
>    previous mode settings that require higher bandwidth. This fixed
>    IOMMU faults observed e.g. during switching from two planes to
>    a single plane operation.
> 
> Changes for v5:
>  - renamed soc_path variable to icc_path
> ---
>  drivers/gpu/drm/exynos/exynos_mixer.c | 146 ++++++++++++++++++++++++++++++++--
>  1 file changed, 138 insertions(+), 8 deletions(-)
> 

Acked-by: Krzysztof Kozlowski <krzk@kernel.org>

Best regards,
Krzysztof
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-10-31 12:44 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20201030125221eucas1p14e525f75c4b8dadae04144ce7684d776@eucas1p1.samsung.com>
2020-10-30 12:51 ` [PATCH v7 0/6] Exynos: Simple QoS for exynos-bus using interconnect Sylwester Nawrocki
2020-10-30 12:51   ` Sylwester Nawrocki
     [not found]   ` <CGME20201030125257eucas1p29c6b018cfcdda337b2b3d2a496f0c830@eucas1p2.samsung.com>
2020-10-30 12:51     ` [PATCH v7 1/6] dt-bindings: devfreq: Add documentation for the interconnect properties Sylwester Nawrocki
2020-10-30 12:51       ` Sylwester Nawrocki
2020-10-31 12:12       ` Krzysztof Kozlowski
2020-10-31 12:12         ` Krzysztof Kozlowski
2020-11-03  9:40       ` Chanwoo Choi
2020-11-03  9:40         ` Chanwoo Choi
     [not found]   ` <CGME20201030125301eucas1p218b0e654cb4c826b05280f28836da8d9@eucas1p2.samsung.com>
2020-10-30 12:51     ` [PATCH v7 2/6] interconnect: Add generic interconnect driver for Exynos SoCs Sylwester Nawrocki
2020-10-30 12:51       ` Sylwester Nawrocki
2020-10-31 12:17       ` Krzysztof Kozlowski
2020-10-31 12:17         ` Krzysztof Kozlowski
2020-11-02 12:23         ` Sylwester Nawrocki
2020-11-02 12:23           ` Sylwester Nawrocki
2020-11-03  8:11       ` Georgi Djakov
2020-11-03  8:11         ` Georgi Djakov
2020-11-03  9:37       ` Chanwoo Choi
2020-11-03  9:37         ` Chanwoo Choi
2020-11-03 11:32         ` Sylwester Nawrocki
2020-11-03 11:32           ` Sylwester Nawrocki
2020-11-03 14:12           ` Chanwoo Choi
2020-11-03 14:12             ` Chanwoo Choi
2020-11-03 17:30             ` Sylwester Nawrocki
2020-11-03 17:30               ` Sylwester Nawrocki
     [not found]   ` <CGME20201030125303eucas1p14a9de4111ffafc1870527abdea0994c9@eucas1p1.samsung.com>
2020-10-30 12:51     ` [PATCH v7 3/6] PM / devfreq: exynos-bus: Add registration of interconnect child device Sylwester Nawrocki
2020-10-30 12:51       ` Sylwester Nawrocki
2020-10-31 12:40       ` Krzysztof Kozlowski
2020-10-31 12:40         ` Krzysztof Kozlowski
2020-11-02  4:28       ` Chanwoo Choi
2020-11-02  4:28         ` Chanwoo Choi
2020-11-03 10:45       ` Chanwoo Choi
2020-11-03 10:45         ` Chanwoo Choi
2020-11-03 12:32         ` Sylwester Nawrocki
2020-11-03 12:32           ` Sylwester Nawrocki
2020-11-03 13:11           ` Krzysztof Kozlowski
2020-11-03 13:11             ` Krzysztof Kozlowski
2020-11-03 14:07           ` Chanwoo Choi
2020-11-03 14:07             ` Chanwoo Choi
     [not found]   ` <CGME20201030125305eucas1p2d61ba397d77a72e0d1dce8d30b278e16@eucas1p2.samsung.com>
2020-10-30 12:51     ` [PATCH v7 4/6] ARM: dts: exynos: Add interconnect properties to Exynos4412 bus nodes Sylwester Nawrocki
2020-10-30 12:51       ` Sylwester Nawrocki
     [not found]   ` <CGME20201030125307eucas1p14afc8cc8828f2bc838e769b77d7e9c95@eucas1p1.samsung.com>
2020-10-30 12:51     ` [PATCH v7 5/6] ARM: dts: exynos: Add interconnects to Exynos4412 mixer Sylwester Nawrocki
2020-10-30 12:51       ` Sylwester Nawrocki
     [not found]   ` <CGME20201030125308eucas1p14ae969ae1d5549d422c478aa54d3311e@eucas1p1.samsung.com>
2020-10-30 12:51     ` [PATCH v7 6/6] drm: exynos: mixer: Add interconnect support Sylwester Nawrocki
2020-10-30 12:51       ` Sylwester Nawrocki
2020-10-31 12:44       ` Krzysztof Kozlowski [this message]
2020-10-31 12:44         ` Krzysztof Kozlowski
2020-10-31 12:47       ` Krzysztof Kozlowski
2020-10-31 12:47         ` Krzysztof Kozlowski
2020-11-02 12:40         ` Sylwester Nawrocki
2020-11-02 12:40           ` Sylwester Nawrocki
2020-11-03  7:54   ` [PATCH v7 0/6] Exynos: Simple QoS for exynos-bus using interconnect Chanwoo Choi
2020-11-03  7:54     ` Chanwoo Choi
2020-11-03  8:29     ` Georgi Djakov
2020-11-03  8:29       ` Georgi Djakov
2020-11-03  8:53       ` Chanwoo Choi
2020-11-03  8:53         ` Chanwoo Choi
2020-11-03 10:12         ` Sylwester Nawrocki
2020-11-03 10:12           ` Sylwester Nawrocki
2020-11-03 10:37           ` Chanwoo Choi
2020-11-03 10:37             ` Chanwoo Choi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201031124415.GD9399@kozik-lap \
    --to=krzk@kernel.org \
    --cc=a.swigon@samsung.com \
    --cc=b.zolnierkie@samsung.com \
    --cc=cw00.choi@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=georgi.djakov@linaro.org \
    --cc=inki.dae@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=myungjoo.ham@samsung.com \
    --cc=robh+dt@kernel.org \
    --cc=s.nawrocki@samsung.com \
    --cc=sw0312.kim@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.