Re: [PATCH v8 00/14] drm/tegra: Introduce a modern UABI

2021-07-30 Thread Dmitry Osipenko
09.07.2021 22:31, Thierry Reding пишет: > From: Thierry Reding > > Hi all, > > Mikko has been away for a few weeks, so I've been testing and revising > the new UABI patches in the meantime. There are very minor changes to > the naming of some of the UABI fields, but other than that it's mostly >

Re: [PATCH v18 0/2] Add memory bandwidth management to NVIDIA Tegra DRM driver

2021-08-13 Thread Dmitry Osipenko
13.08.2021 13:33, Thierry Reding пишет: > On Mon, Jun 07, 2021 at 01:40:06AM +0300, Dmitry Osipenko wrote: >> 01.06.2021 07:21, Dmitry Osipenko пишет: >>> This series adds memory bandwidth management to the NVIDIA Tegra DRM driver, >>> which is done using interconnect

Re: [tegra-drm:drm/tegra/for-next 16/17] drivers/gpu/drm/tegra/dc.c:1843:53: warning: variable 'new_dc_state' set but not used

2021-08-13 Thread Dmitry Osipenko
13.08.2021 19:36, kernel test robot пишет: > tree: git://anongit.freedesktop.org/tegra/linux.git drm/tegra/for-next > head: ad85b0843ee4536593415ca890d7fb52cd7f1fbe > commit: 04d5d5df9df79f9045e76404775fc8a084aac23d [16/17] drm/tegra: dc: > Support memory bandwidth management > config: arm-def

Re: [tegra-drm:drm/tegra/for-next 16/17] drivers/gpu/drm/tegra/dc.c:1843:53: warning: variable 'new_dc_state' set but not used

2021-08-13 Thread Dmitry Osipenko
13.08.2021 20:12, Dmitry Osipenko пишет: ... > I probably should update compiler or set W=1 to get that warning. These > variables were used in older versions of the patch and they can be removed > now. > > Please amend the patch with this: Perhaps too late already. I'll

[PATCH v8 00/34] NVIDIA Tegra power management patches for 5.16

2021-08-16 Thread Dmitry Osipenko
which added RPM to memory drivers since hardware is always-on and RPM not needed. - Replaced the "dummy host1x driver" patch with new "Disable unused host1x hardware" patch, since it's a cleaner solution. Dmitry Osipenko (34): opp: Add dev_pm_opp_sync()

[PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-16 Thread Dmitry Osipenko
Add dev_pm_opp_sync() helper which syncs OPP table with hardware state and vice versa. Signed-off-by: Dmitry Osipenko --- drivers/opp/core.c | 42 +++--- include/linux/pm_opp.h | 6 ++ 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a

[PATCH v8 04/34] soc/tegra: Add devm_tegra_core_dev_init_opp_table_simple()

2021-08-16 Thread Dmitry Osipenko
Only couple drivers need to get the -ENODEV error code and explicitly initialize the performance state. Add new helper that allows to avoid the extra boilerplate code in majority of drivers. Signed-off-by: Dmitry Osipenko --- include/soc/tegra/common.h | 13 + 1 file changed, 13

[PATCH v8 05/34] soc/tegra: Use dev_pm_opp_sync()

2021-08-16 Thread Dmitry Osipenko
Use new generic dev_pm_opp_sync() helper which initializes voltage vote based on clock rate. Signed-off-by: Dmitry Osipenko --- drivers/soc/tegra/common.c | 30 +- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/soc/tegra/common.c b/drivers/soc

[PATCH v8 02/34] soc/tegra: pmc: Disable PMC state syncing

2021-08-16 Thread Dmitry Osipenko
d and now we're going make a better GENPD implementation that will require to update each device driver with the runtime PM and OPP support before we could safely enable the state syncing. Signed-off-by: Dmitry Osipenko --- drivers/soc/tegra/pmc.c | 17 + 1 file changed, 17

[PATCH v8 03/34] soc/tegra: Don't print error message when OPPs not available

2021-08-16 Thread Dmitry Osipenko
error message about missing OPP table in the common helper, we can print it elsewhere. Signed-off-by: Dmitry Osipenko --- drivers/soc/tegra/common.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/soc/tegra/common.c b/drivers/soc/tegra/common.c index cd33e99

[PATCH v8 09/34] dt-bindings: host1x: Document Memory Client resets of Host1x, GR2D and GR3D

2021-08-16 Thread Dmitry Osipenko
Memory Client should be blocked before hardware reset is asserted in order to prevent memory corruption and hanging of memory controller. Document Memory Client resets of Host1x, GR2D and GR3D hardware units. Signed-off-by: Dmitry Osipenko --- .../bindings/display/tegra/nvidia,tegra20

[PATCH v8 08/34] dt-bindings: host1x: Document OPP and power domain properties

2021-08-16 Thread Dmitry Osipenko
Document new DVFS OPP table and power domain properties of the Host1x bus and devices sitting on the bus. Reviewed-by: Rob Herring Signed-off-by: Dmitry Osipenko --- .../display/tegra/nvidia,tegra20-host1x.txt | 49 +++ 1 file changed, 49 insertions(+) diff --git a

[PATCH v8 10/34] gpu: host1x: Add host1x_channel_stop()

2021-08-16 Thread Dmitry Osipenko
-by: Peter Geis # Ouya T30 Tested-by: Paul Fertser # PAZ00 T20 Tested-by: Nicolas Chauvet # PAZ00 T20 and TK1 T124 Tested-by: Matt Merhar # Ouya T30 Signed-off-by: Dmitry Osipenko --- drivers/gpu/host1x/channel.c | 8 include/linux/host1x.h | 1 + 2 files changed, 9 insertions

[PATCH v8 07/34] clk: tegra: Support runtime PM and power domain

2021-08-16 Thread Dmitry Osipenko
Tested-by: Peter Geis # Ouya T30 Tested-by: Paul Fertser # PAZ00 T20 Tested-by: Nicolas Chauvet # PAZ00 T20 and TK1 T124 Tested-by: Matt Merhar # Ouya T30 Signed-off-by: Dmitry Osipenko --- drivers/clk/tegra/Makefile | 1 + drivers/clk/tegra/clk-device.c | 222

[PATCH v8 14/34] drm/tegra: gr2d: Support power management

2021-08-16 Thread Dmitry Osipenko
Add power management to the GR2D driver. Tested-by: Peter Geis # Ouya T30 Tested-by: Paul Fertser # PAZ00 T20 Tested-by: Nicolas Chauvet # PAZ00 T20 and TK1 T124 Tested-by: Matt Merhar # Ouya T30 Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/tegra/gr2d.c | 154

[PATCH v8 16/34] drm/tegra: vic: Support system suspend

2021-08-16 Thread Dmitry Osipenko
Hardware must be stopped before system is suspended. Add suspend-resume callbacks. Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/tegra/vic.c | 4 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/tegra/vic.c b/drivers/gpu/drm/tegra/vic.c index c02010ff2b7f..359dd77f8b85

[PATCH v8 06/34] dt-bindings: clock: tegra-car: Document new tegra-clocks sub-node

2021-08-16 Thread Dmitry Osipenko
evice dedicated to them, clock controller is in charge of managing power for them. Signed-off-by: Dmitry Osipenko --- .../bindings/clock/nvidia,tegra20-car.yaml| 51 +++ 1 file changed, 51 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/nvidia,tegra20-car.ya

[PATCH v8 21/34] mtd: rawnand: tegra: Add runtime PM and OPP support

2021-08-16 Thread Dmitry Osipenko
The NAND on Tegra belongs to the core power domain and we're going to enable GENPD support for the core domain. Now NAND must be resumed using runtime PM API in order to initialize the NAND power state. Add runtime PM and OPP support to the NAND driver. Signed-off-by: Dmitry Osi

[PATCH v8 22/34] spi: tegra20-slink: Add OPP support

2021-08-16 Thread Dmitry Osipenko
e rate. Add OPP support to the driver. Signed-off-by: Dmitry Osipenko --- drivers/spi/spi-tegra20-slink.c | 15 ++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-tegra20-slink.c b/drivers/spi/spi-tegra20-slink.c index deff16ba6d58..37cb15dc59f7 100644 --- a/

[PATCH v8 20/34] mmc: sdhci-tegra: Add runtime PM and OPP support

2021-08-16 Thread Dmitry Osipenko
omain performance state in accordance to the rate. Add runtime PM and OPP support to the SDHCI driver. Signed-off-by: Dmitry Osipenko --- drivers/mmc/host/sdhci-tegra.c | 146 - 1 file changed, 105 insertions(+), 41 deletions(-) diff --git a/drivers/mmc/host/sdhci-te

[PATCH v8 18/34] bus: tegra-gmi: Add runtime PM and OPP support

2021-08-16 Thread Dmitry Osipenko
The GMI bus on Tegra belongs to the core power domain and we're going to enable GENPD support for the core domain. Now GMI must be resumed using runtime PM API in order to initialize the GMI power state. Add runtime PM and OPP support to the GMI driver. Signed-off-by: Dmitry Osi

[PATCH v8 12/34] drm/tegra: dc: Support OPP and SoC core voltage scaling

2021-08-16 Thread Dmitry Osipenko
# Ouya T30 Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/tegra/dc.c | 74 ++ drivers/gpu/drm/tegra/dc.h | 2 ++ 2 files changed, 76 insertions(+) diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c index 16c7aabb94d3..435dd8139c6e 100644

[PATCH v8 17/34] usb: chipidea: tegra: Add runtime PM and OPP support

2021-08-16 Thread Dmitry Osipenko
rated from the RPM managed by tegra-usb driver. Add runtime PM and OPP support to tegra-usb driver. Signed-off-by: Dmitry Osipenko --- drivers/usb/chipidea/ci_hdrc_tegra.c | 61 1 file changed, 54 insertions(+), 7 deletions(-) diff --git a/drivers/usb/chipidea/ci_hd

[PATCH v8 15/34] drm/tegra: gr3d: Support power management

2021-08-16 Thread Dmitry Osipenko
Add power management to the GR3D driver. Tested-by: Peter Geis # Ouya T30 Tested-by: Paul Fertser # PAZ00 T20 Tested-by: Nicolas Chauvet # PAZ00 T20 and TK1 T124 Tested-by: Matt Merhar # Ouya T30 Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/tegra/gr3d.c | 393

[PATCH v8 23/34] media: dt: bindings: tegra-vde: Convert to schema

2021-08-16 Thread Dmitry Osipenko
Convert NVIDIA Tegra video decoder binding to schema. Signed-off-by: Dmitry Osipenko --- .../bindings/media/nvidia,tegra-vde.txt | 64 --- .../bindings/media/nvidia,tegra-vde.yaml | 107 ++ 2 files changed, 107 insertions(+), 64 deletions(-) delete mode

[PATCH v8 13/34] drm/tegra: hdmi: Add OPP support

2021-08-16 Thread Dmitry Osipenko
k rate. Add OPP support to the HDMI driver. Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/tegra/hdmi.c | 15 ++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c index e5d2a4026028..aa13028480f7 100644 --- a/

[PATCH v8 19/34] pwm: tegra: Add runtime PM and OPP support

2021-08-16 Thread Dmitry Osipenko
omain performance state in accordance to the rate. Add runtime PM and OPP support to the PWM driver. Signed-off-by: Dmitry Osipenko --- drivers/pwm/pwm-tegra.c | 104 1 file changed, 85 insertions(+), 19 deletions(-) diff --git a/drivers/pwm/pwm-tegra.c b/drivers/pw

[PATCH v8 33/34] ARM: tegra: Add Memory Client resets to Tegra30 GR2D, GR3D and Host1x

2021-08-16 Thread Dmitry Osipenko
Memory access must be blocked before hardware reset is asserted and before power is gated, otherwise a serious hardware fault is inevitable. Add reset for memory clients to the GR2D, GR3D and Host1x nodes. Tested-by: Peter Geis # Ouya T30 Tested-by: Matt Merhar # Ouya T30 Signed-off-by: Dmitry

[PATCH v8 29/34] soc/tegra: pmc: Enable core domain support for Tegra20 and Tegra30

2021-08-16 Thread Dmitry Osipenko
All device drivers got runtime PM and OPP support. Flip the core domain support status for Tegra20 and Tegra30 SoCs. Signed-off-by: Dmitry Osipenko --- drivers/soc/tegra/pmc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra

[PATCH v8 30/34] ARM: tegra: Add OPP tables and power domains to Tegra20 device-trees

2021-08-16 Thread Dmitry Osipenko
Add OPP tables and power domains to all peripheral devices which support power management on Tegra20 SoC. Tested-by: Paul Fertser # PAZ00 T20 Tested-by: Nicolas Chauvet # PAZ00 T20 Signed-off-by: Dmitry Osipenko --- .../boot/dts/tegra20-acer-a500-picasso.dts| 1 + arch/arm/boot/dts

[PATCH v8 27/34] soc/tegra: fuse: Reset hardware

2021-08-16 Thread Dmitry Osipenko
The FUSE controller is enabled at a boot time. Reset it in order to put hardware and clock into clean and disabled state. Signed-off-by: Dmitry Osipenko --- drivers/soc/tegra/fuse/fuse-tegra.c | 25 + drivers/soc/tegra/fuse/fuse.h | 1 + 2 files changed, 26

[PATCH v8 26/34] soc/tegra: fuse: Add OPP support

2021-08-16 Thread Dmitry Osipenko
Initialize and sync FUSE OPP to set up SoC core voltage vote needed by FUSE hardware. Signed-off-by: Dmitry Osipenko --- drivers/soc/tegra/fuse/fuse-tegra.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/soc/tegra/fuse/fuse-tegra.c b/drivers/soc/tegra/fuse/fuse

[PATCH v8 11/34] gpu: host1x: Add runtime PM and OPP support

2021-08-16 Thread Dmitry Osipenko
ted-by: Paul Fertser # PAZ00 T20 Tested-by: Nicolas Chauvet # PAZ00 T20 and TK1 T124 Tested-by: Matt Merhar # Ouya T30 Signed-off-by: Dmitry Osipenko --- drivers/gpu/host1x/debug.c | 15 +++ drivers/gpu/host1x/dev.c | 157 - drivers/gpu/host1x/d

[PATCH v8 32/34] ARM: tegra: Add Memory Client resets to Tegra20 GR2D, GR3D and Host1x

2021-08-16 Thread Dmitry Osipenko
: Dmitry Osipenko --- arch/arm/boot/dts/tegra20.dtsi | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi index 5c74cc76b5e3..2cb31bdd9eea 100644 --- a/arch/arm/boot/dts/tegra20.dtsi +++ b/arch/arm/boot/dts

[PATCH v8 31/34] ARM: tegra: Add OPP tables and power domains to Tegra30 device-trees

2021-08-16 Thread Dmitry Osipenko
Add OPP tables and power domains to all peripheral devices which support power management on Tegra30 SoC. Tested-by: Peter Geis # Ouya T30 Tested-by: Matt Merhar # Ouya T30 Signed-off-by: Dmitry Osipenko --- .../tegra30-asus-nexus7-grouper-common.dtsi |1 + arch/arm/boot/dts/tegra30

[PATCH v8 28/34] soc/tegra: regulators: Prepare for suspend

2021-08-16 Thread Dmitry Osipenko
Depending on hardware version, Tegra SoC may require a higher voltages during resume from system suspend, otherwise hardware will crash. Set SoC voltages to a nominal levels during suspend. Signed-off-by: Dmitry Osipenko --- drivers/soc/tegra/regulators-tegra20.c | 99

[PATCH v8 34/34] ARM: tegra20/30: Disable unused host1x hardware

2021-08-16 Thread Dmitry Osipenko
d-off-by: Dmitry Osipenko --- arch/arm/boot/dts/tegra20.dtsi | 4 arch/arm/boot/dts/tegra30.dtsi | 8 2 files changed, 12 insertions(+) diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi index 2cb31bdd9eea..32abe559645f 100644 --- a/arch/arm/boot/dts/tegra20

[PATCH v8 25/34] media: staging: tegra-vde: Support generic power domain and OPP

2021-08-16 Thread Dmitry Osipenko
Tested-by: Nicolas Chauvet # PAZ00 T20 and TK1 T124 Tested-by: Matt Merhar # Ouya T30 Signed-off-by: Dmitry Osipenko --- drivers/staging/media/tegra-vde/vde.c | 65 ++- 1 file changed, 54 insertions(+), 11 deletions(-) diff --git a/drivers/staging/media/tegra-vde/vde.c b

[PATCH v8 24/34] media: dt: bindings: tegra-vde: Document OPP and power domain

2021-08-16 Thread Dmitry Osipenko
Document new OPP table and power domain properties of the video decoder hardware. Signed-off-by: Dmitry Osipenko --- .../devicetree/bindings/media/nvidia,tegra-vde.yaml | 12 1 file changed, 12 insertions(+) diff --git a/Documentation/devicetree/bindings/media/nvidia,tegra

[PATCH v1 1/3] drm/tegra: dc: Remove unused variables

2021-08-16 Thread Dmitry Osipenko
Remove unused variables from tegra_crtc_update_memory_bandwidth(). Fixes: 04d5d5df9df7 ("drm/tegra: dc: Support memory bandwidth management") Reported-by: kernel test robot Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/tegra/dc.c | 3 --- drivers/gpu/drm/tegra/dc.h | 6 -

[PATCH v1 0/3] Tegra DRM and Host1x driver fixes

2021-08-16 Thread Dmitry Osipenko
Fix troubles introduced by recent commits. Dmitry Osipenko (3): drm/tegra: dc: Remove unused variables drm/tegra: uapi: Fix wrong mapping end address in case of disabled IOMMU gpu/host1x: fence: Make spinlock static drivers/gpu/drm/tegra/dc.c | 3 --- drivers/gpu/drm/tegra/dc.h

[PATCH v1 3/3] gpu/host1x: fence: Make spinlock static

2021-08-16 Thread Dmitry Osipenko
The DEFINE_SPINLOCK macro creates a global spinlock symbol that is visible to the whole kernel. This is unintended in the code, fix it. Fixes: 687db2207b1b ("gpu: host1x: Add DMA fence implementation") Signed-off-by: Dmitry Osipenko --- drivers/gpu/host1x/fence.c | 2 +- 1 file

[PATCH v1 2/3] drm/tegra: uapi: Fix wrong mapping end address in case of disabled IOMMU

2021-08-16 Thread Dmitry Osipenko
All jobs are failing on Tegra20 because it doesn't use IOMMU and mapping function uses size of mapping that is zero instead of BO size, fix it. Fixes: d7c591bc1a3f ("drm/tegra: Implement new UAPI") Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/tegra/uapi.c | 2 +- 1

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-17 Thread Dmitry Osipenko
17.08.2021 10:55, Viresh Kumar пишет: ... >> +int dev_pm_opp_sync(struct device *dev) >> +{ >> +struct opp_table *opp_table; >> +struct dev_pm_opp *opp; >> +int ret = 0; >> + >> +/* Device may not have OPP table */ >> +opp_table = _find_opp_table(dev); >> +if (IS_ERR(opp_tab

Re: [PATCH v8 22/34] spi: tegra20-slink: Add OPP support

2021-08-17 Thread Dmitry Osipenko
17.08.2021 15:22, Mark Brown пишет: > On Tue, Aug 17, 2021 at 04:27:42AM +0300, Dmitry Osipenko wrote: >> The SPI on Tegra belongs to the core power domain and we're going to >> enable GENPD support for the core domain. Now SPI driver must use OPP >> API for driving t

Re: [PATCH v8 09/34] dt-bindings: host1x: Document Memory Client resets of Host1x, GR2D and GR3D

2021-08-17 Thread Dmitry Osipenko
18.08.2021 04:16, Rob Herring пишет: > On Tue, Aug 17, 2021 at 04:27:29AM +0300, Dmitry Osipenko wrote: >> Memory Client should be blocked before hardware reset is asserted in order >> to prevent memory corruption and hanging of memory controller. >> >> Document Mem

Re: [PATCH v8 06/34] dt-bindings: clock: tegra-car: Document new tegra-clocks sub-node

2021-08-17 Thread Dmitry Osipenko
18.08.2021 04:15, Rob Herring пишет: >> + tegra-clocks: >> +description: child nodes are the output clocks from the CAR >> +type: object >> + >> +patternProperties: >> + "^[a-z]+[0-9]+$": >> +type: object >> +properties: >> + compatible: >> +al

Re: [PATCH v8 09/34] dt-bindings: host1x: Document Memory Client resets of Host1x, GR2D and GR3D

2021-08-17 Thread Dmitry Osipenko
18.08.2021 04:37, Dmitry Osipenko пишет: > 18.08.2021 04:16, Rob Herring пишет: >> On Tue, Aug 17, 2021 at 04:27:29AM +0300, Dmitry Osipenko wrote: >>> Memory Client should be blocked before hardware reset is asserted in order >>> to prevent memory corruption and h

Re: [PATCH v8 09/34] dt-bindings: host1x: Document Memory Client resets of Host1x, GR2D and GR3D

2021-08-17 Thread Dmitry Osipenko
18.08.2021 05:04, Dmitry Osipenko пишет: > 18.08.2021 04:37, Dmitry Osipenko пишет: >> 18.08.2021 04:16, Rob Herring пишет: >>> On Tue, Aug 17, 2021 at 04:27:29AM +0300, Dmitry Osipenko wrote: >>>> Memory Client should be blocked before hardware reset is asserted i

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-17 Thread Dmitry Osipenko
18.08.2021 06:55, Viresh Kumar пишет: > On 17-08-21, 18:49, Dmitry Osipenko wrote: >> 17.08.2021 10:55, Viresh Kumar пишет: >> ... >>>> +int dev_pm_opp_sync(struct device *dev) >>>> +{ >>>> + struct opp_table *opp_table;

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-17 Thread Dmitry Osipenko
18.08.2021 07:12, Dmitry Osipenko пишет: > 18.08.2021 06:55, Viresh Kumar пишет: >> On 17-08-21, 18:49, Dmitry Osipenko wrote: >>> 17.08.2021 10:55, Viresh Kumar пишет: >>> ... >>>>> +int dev_pm_opp_sync(struct device *dev) >>>>> +{ >&

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-17 Thread Dmitry Osipenko
18.08.2021 07:29, Dmitry Osipenko пишет: > 18.08.2021 07:12, Dmitry Osipenko пишет: >> 18.08.2021 06:55, Viresh Kumar пишет: >>> On 17-08-21, 18:49, Dmitry Osipenko wrote: >>>> 17.08.2021 10:55, Viresh Kumar пишет: >>>> ... >

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-17 Thread Dmitry Osipenko
18.08.2021 07:31, Viresh Kumar пишет: > On 18-08-21, 07:12, Dmitry Osipenko wrote: >> 18.08.2021 06:55, Viresh Kumar пишет: >>> On 17-08-21, 18:49, Dmitry Osipenko wrote: >>>> 17.08.2021 10:55, Viresh Kumar пишет: >>>> ... >

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-17 Thread Dmitry Osipenko
18.08.2021 07:53, Viresh Kumar пишет: > On 18-08-21, 07:37, Dmitry Osipenko wrote: >> This will set voltage level without having an actively used hardware. >> Take a 3d driver for example, if you set the rate on probe and >> rpm-resume will never be called, then the vol

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-17 Thread Dmitry Osipenko
18.08.2021 08:58, Viresh Kumar пишет: > On 18-08-21, 08:21, Dmitry Osipenko wrote: >> Yes, GENPD will cache the perf state across suspend/resume and initially >> cached value is out of sync with h/w. >> >> Nothing else. But let me clarify it all again. >

Re: [PATCH v8 06/34] dt-bindings: clock: tegra-car: Document new tegra-clocks sub-node

2021-08-18 Thread Dmitry Osipenko
18.08.2021 16:52, Thierry Reding пишет: > On Wed, Aug 18, 2021 at 04:44:30AM +0300, Dmitry Osipenko wrote: >> 18.08.2021 04:15, Rob Herring пишет: >>>> + tegra-clocks: >>>> +description: child nodes are the output clocks from the CAR >>>> +ty

Re: [PATCH v8 06/34] dt-bindings: clock: tegra-car: Document new tegra-clocks sub-node

2021-08-18 Thread Dmitry Osipenko
18.08.2021 16:59, Thierry Reding пишет: > On Tue, Aug 17, 2021 at 04:27:26AM +0300, Dmitry Osipenko wrote: >> Document tegra-clocks sub-node which describes Tegra SoC clocks that >> require a higher voltage of the core power domain in order to operate >> properly on a high

Re: [PATCH v8 07/34] clk: tegra: Support runtime PM and power domain

2021-08-18 Thread Dmitry Osipenko
18.08.2021 17:07, Thierry Reding пишет: > On Tue, Aug 17, 2021 at 04:27:27AM +0300, Dmitry Osipenko wrote: > [...] >> +struct clk *tegra_clk_register(struct clk_hw *hw) >> +{ >> +struct platform_device *pdev; >> +struct device *dev = NULL; >> +struct

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-18 Thread Dmitry Osipenko
18.08.2021 13:08, Ulf Hansson пишет: > On Wed, 18 Aug 2021 at 11:50, Viresh Kumar wrote: >> >> On 18-08-21, 11:41, Ulf Hansson wrote: >>> On Wed, 18 Aug 2021 at 11:14, Viresh Kumar wrote: What we need here is just configure. So something like this then: - genpd->get_performance_sta

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-18 Thread Dmitry Osipenko
18.08.2021 18:43, Dmitry Osipenko пишет: > 18.08.2021 13:08, Ulf Hansson пишет: >> On Wed, 18 Aug 2021 at 11:50, Viresh Kumar wrote: >>> >>> On 18-08-21, 11:41, Ulf Hansson wrote: >>>> On Wed, 18 Aug 2021 at 11:14, Viresh Kumar wrote: >>>>>

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-18 Thread Dmitry Osipenko
18.08.2021 12:41, Ulf Hansson пишет: > On Wed, 18 Aug 2021 at 11:14, Viresh Kumar wrote: >> >> On 18-08-21, 10:29, Ulf Hansson wrote: >>> Me and Dmitry discussed adding a new genpd callback for this. I agreed >>> that it seems like a reasonable thing to add, if he insists. Either way gives the eq

Re: [PATCH v8 06/34] dt-bindings: clock: tegra-car: Document new tegra-clocks sub-node

2021-08-18 Thread Dmitry Osipenko
18.08.2021 19:39, Thierry Reding пишет: >> We don't have a platform device for CaR. I don't see how it's going to >> work. We need to create a platform device for each RPM-capable clock >> because that's how RPM works. The compatible string is required for >> instantiating OF-devices from a node, o

Re: [PATCH v8 07/34] clk: tegra: Support runtime PM and power domain

2021-08-18 Thread Dmitry Osipenko
18.08.2021 19:42, Thierry Reding пишет: > On Wed, Aug 18, 2021 at 06:05:21PM +0300, Dmitry Osipenko wrote: >> 18.08.2021 17:07, Thierry Reding пишет: >>> On Tue, Aug 17, 2021 at 04:27:27AM +0300, Dmitry Osipenko wrote: >>> [...] >>>> +struct cl

Re: [PATCH v8 06/34] dt-bindings: clock: tegra-car: Document new tegra-clocks sub-node

2021-08-18 Thread Dmitry Osipenko
18.08.2021 19:57, Dmitry Osipenko пишет: >>>> Also, I don't think the tegra- prefix is necessary here. The parent node >>>> is already identified as Tegra via the compatible string. >>>> >>>> In the case of CAR, I'd imagine

Re: [PATCH v8 11/34] gpu: host1x: Add runtime PM and OPP support

2021-08-18 Thread Dmitry Osipenko
18.08.2021 11:35, Ulf Hansson пишет: > Thanks for clarifying! As I said, feel free to ignore my comments then. > > For this and the other patches in the series, I assume you only need > to care about whether the driver is a cross SoC driver and used on > other platforms than Tegra then. Yes, and

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-19 Thread Dmitry Osipenko
19.08.2021 16:07, Ulf Hansson пишет: > On Wed, 18 Aug 2021 at 17:43, Dmitry Osipenko wrote: >> >> 18.08.2021 13:08, Ulf Hansson пишет: >>> On Wed, 18 Aug 2021 at 11:50, Viresh Kumar wrote: >>>> >>>> On 18-08-21, 11:41, Ulf Hansson wrote:

Re: [PATCH v8 07/34] clk: tegra: Support runtime PM and power domain

2021-08-19 Thread Dmitry Osipenko
19.08.2021 19:54, Thierry Reding пишет: > On Wed, Aug 18, 2021 at 08:11:03PM +0300, Dmitry Osipenko wrote: >> 18.08.2021 19:42, Thierry Reding пишет: >>> On Wed, Aug 18, 2021 at 06:05:21PM +0300, Dmitry Osipenko wrote: >>>> 18.08.2021 17:07, Thierry Reding пишет: &g

Re: [PATCH v8 06/34] dt-bindings: clock: tegra-car: Document new tegra-clocks sub-node

2021-08-19 Thread Dmitry Osipenko
19.08.2021 19:31, Thierry Reding пишет: > Also, I don't think the tegra- prefix is necessary here. The parent node > is already identified as Tegra via the compatible string. > > In the case of CAR, I'd imagine something like: > > clocks { > sclk { >

Re: [PATCH v8 20/34] mmc: sdhci-tegra: Add runtime PM and OPP support

2021-08-19 Thread Dmitry Osipenko
19.08.2021 20:03, Thierry Reding пишет: > On Tue, Aug 17, 2021 at 04:27:40AM +0300, Dmitry Osipenko wrote: >> The SDHCI on Tegra belongs to the core power domain and we're going to >> enable GENPD support for the core domain. Now SDHCI must be resumed using >> runtime PM

Re: [PATCH v8 06/34] dt-bindings: clock: tegra-car: Document new tegra-clocks sub-node

2021-08-19 Thread Dmitry Osipenko
19.08.2021 19:31, Thierry Reding пишет: >> The "device" representation is internal to the kernel. It's okay to me >> to have PLLs represented by a device, it's a distinct h/w by itself. >> >> CCF supports managing of clock's RPM and it requires to have clock to be >> backed by a device. That's what

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-21 Thread Dmitry Osipenko
20.08.2021 15:42, Ulf Hansson пишет: > On Thu, 19 Aug 2021 at 21:35, Dmitry Osipenko wrote: >> >> 19.08.2021 16:07, Ulf Hansson пишет: >>> On Wed, 18 Aug 2021 at 17:43, Dmitry Osipenko wrote: >>>> >>>> 18.08.2021 13:08, Ulf Hansson пишет:

Re: [PATCH v8 07/34] clk: tegra: Support runtime PM and power domain

2021-08-21 Thread Dmitry Osipenko
20.08.2021 16:08, Ulf Hansson пишет: ... >> I suppose if there's really no good way of doing this other than >> providing a struct device, then so be it. I think the cleaned up sysfs >> shown in the summary above looks much better than what the original >> would've looked like. >> >> Perhaps an add

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-22 Thread Dmitry Osipenko
20.08.2021 08:18, Viresh Kumar пишет: > On 19-08-21, 16:55, Ulf Hansson wrote: >> Right, that sounds reasonable. >> >> We already have pm_genpd_opp_to_performance_state() which translates >> an OPP to a performance state. This function invokes the >> ->opp_to_performance_state() for a genpd. Maybe

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-23 Thread Dmitry Osipenko
23.08.2021 13:46, Ulf Hansson пишет: >>> ... >>> dev_pm_opp_set_rate(rate) >>> pm_runtime_get_noresume() >>> pm_runtime_set_active() >>> pm_runtime_enable() >>> ... >>> pm_runtime_put() >>> ... >>> >>> We need to call genpd_set_performance_state() independently of whether >>> the device is runtime

Re: [PATCH v8 07/34] clk: tegra: Support runtime PM and power domain

2021-08-23 Thread Dmitry Osipenko
23.08.2021 17:33, Thierry Reding пишет: > On Sat, Aug 21, 2021 at 08:45:54PM +0300, Dmitry Osipenko wrote: >> 20.08.2021 16:08, Ulf Hansson пишет: >> ... >>>> I suppose if there's really no good way of doing this other than >>>> providing a struct d

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-23 Thread Dmitry Osipenko
20.08.2021 15:57, Ulf Hansson пишет: ... >> We already have similar APIs, so that won't be a problem. We also have >> a mechanism inside the OPP core, frequency based, which is used to >> guess the current OPP. Maybe we can enhance and use that directly >> here. > > After reading the last reply fr

Re: [PATCH v8 20/34] mmc: sdhci-tegra: Add runtime PM and OPP support

2021-08-25 Thread Dmitry Osipenko
20.08.2021 14:35, Thierry Reding пишет: > On Fri, Aug 20, 2021 at 01:37:13AM +0300, Dmitry Osipenko wrote: >> 19.08.2021 20:03, Thierry Reding пишет: >>> On Tue, Aug 17, 2021 at 04:27:40AM +0300, Dmitry Osipenko wrote: >>>> The SDHCI on Tegra belongs to the core p

Re: [PATCH v8 01/34] opp: Add dev_pm_opp_sync() helper

2021-08-25 Thread Dmitry Osipenko
22.08.2021 21:35, Dmitry Osipenko пишет: > 20.08.2021 08:18, Viresh Kumar пишет: >> On 19-08-21, 16:55, Ulf Hansson wrote: >>> Right, that sounds reasonable. >>> >>> We already have pm_genpd_opp_to_performance_state() which translates >>> an OPP to a

[PATCH v3 00/15] Introduce devm_pm_opp_* API

2021-03-14 Thread Dmitry Osipenko
so I (Dmitry Osipenko) picked up the effort since these patches are wanted by the NVIDIA Tegra voltage-scaling series that I'm working on. - Fixed the double put of OPP resources. - Dropped all patches that are unrelated to OPP API. I also dropped the Tegra me

[PATCH v3 01/15] opp: Add devres wrapper for dev_pm_opp_set_clkname

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Add devres wrapper for dev_pm_opp_set_clkname() to simplify drivers code. Signed-off-by: Yangtao Li Signed-off-by: Dmitry Osipenko --- drivers/opp/core.c | 27 +++ include/linux/pm_opp.h | 6 ++ 2 files changed, 33 insertions(+) diff --git a

[PATCH v3 02/15] opp: Add devres wrapper for dev_pm_opp_set_regulators

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Add devres wrapper for dev_pm_opp_set_regulators() to simplify drivers code. Signed-off-by: Yangtao Li Signed-off-by: Dmitry Osipenko --- drivers/opp/core.c | 30 ++ include/linux/pm_opp.h | 8 2 files changed, 38 insertions(+) diff

[PATCH v3 03/15] opp: Add devres wrapper for dev_pm_opp_set_supported_hw

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Add devres wrapper for dev_pm_opp_set_supported_hw() to simplify drivers code. Signed-off-by: Yangtao Li Signed-off-by: Dmitry Osipenko --- drivers/opp/core.c | 29 + include/linux/pm_opp.h | 8 2 files changed, 37 insertions

[PATCH v3 04/15] opp: Add devres wrapper for dev_pm_opp_of_add_table

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Add devres wrapper for dev_pm_opp_of_add_table() to simplify drivers code. Signed-off-by: Yangtao Li Signed-off-by: Dmitry Osipenko --- drivers/opp/of.c | 36 include/linux/pm_opp.h | 6 ++ 2 files changed, 42 insertions

[PATCH v3 05/15] opp: Change return type of devm_pm_opp_register_set_opp_helper()

2021-03-14 Thread Dmitry Osipenko
Make devm_pm_opp_register_set_opp_helper() to return error code instead of opp_table pointer in order to have return type consistent with the other resource-managed OPP helpers. Signed-off-by: Dmitry Osipenko --- drivers/opp/core.c | 18 ++ include/linux/pm_opp.h | 6

[PATCH v3 06/15] opp: Change return type of devm_pm_opp_attach_genpd()

2021-03-14 Thread Dmitry Osipenko
Make devm_pm_opp_attach_genpd() to return error code instead of opp_table pointer in order to have return type consistent with the other resource-managed OPP helpers. Signed-off-by: Dmitry Osipenko --- drivers/opp/core.c | 18 ++ include/linux/pm_opp.h | 9 + 2

[PATCH v3 07/15] serial: qcom_geni_serial: Convert to use resource-managed OPP API

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Use resource-managed OPP API to simplify code. Signed-off-by: Yangtao Li Signed-off-by: Dmitry Osipenko --- drivers/tty/serial/qcom_geni_serial.c | 23 --- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/drivers/tty/serial

[PATCH v3 08/15] spi: spi-geni-qcom: Convert to use resource-managed OPP API

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Use resource-managed OPP API to simplify code. Signed-off-by: Yangtao Li Acked-by: Mark Brown Signed-off-by: Dmitry Osipenko --- drivers/spi/spi-geni-qcom.c | 16 ++-- include/linux/qcom-geni-se.h | 2 -- 2 files changed, 6 insertions(+), 12 deletions(-) diff

[PATCH v3 09/15] spi: spi-qcom-qspi: Convert to use resource-managed OPP API

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Use resource-managed OPP API to simplify code. Signed-off-by: Yangtao Li Acked-by: Mark Brown Signed-off-by: Dmitry Osipenko --- drivers/spi/spi-qcom-qspi.c | 18 +- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/drivers/spi/spi-qcom-qspi.c b

[PATCH v3 10/15] mmc: sdhci-msm: Convert to use resource-managed OPP API

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Use resource-managed OPP API to simplify code. Signed-off-by: Yangtao Li Signed-off-by: Dmitry Osipenko --- drivers/mmc/host/sdhci-msm.c | 19 +-- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host

[PATCH v3 12/15] drm/lima: Convert to use resource-managed OPP API

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Use resource-managed OPP API to simplify code. Signed-off-by: Yangtao Li Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/lima/lima_devfreq.c | 47 +++-- drivers/gpu/drm/lima/lima_devfreq.h | 3 -- 2 files changed, 11 insertions(+), 39 deletions

[PATCH v3 13/15] drm/panfrost: Convert to use resource-managed OPP API

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Use resource-managed OPP API to simplify code. Signed-off-by: Yangtao Li Reviewed-by: Steven Price Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/panfrost/panfrost_devfreq.c | 37 + drivers/gpu/drm/panfrost/panfrost_devfreq.h | 2 -- 2 files changed

[PATCH v3 14/15] media: venus: Convert to use resource-managed OPP API

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Use resource-managed OPP API to simplify code. Signed-off-by: Yangtao Li Signed-off-by: Dmitry Osipenko --- drivers/media/platform/qcom/venus/core.h | 1 - .../media/platform/qcom/venus/pm_helpers.c| 35 +-- 2 files changed, 8 insertions(+), 28

[PATCH v3 11/15] drm/msm: Convert to use resource-managed OPP API

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Use resource-managed OPP API to simplify code. Signed-off-by: Yangtao Li Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 2 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 11 +++-- drivers/gpu

[PATCH v3 15/15] memory: samsung: exynos5422-dmc: Convert to use resource-managed OPP API

2021-03-14 Thread Dmitry Osipenko
From: Yangtao Li Use resource-managed OPP API to simplify code. Signed-off-by: Yangtao Li Reviewed-by: Krzysztof Kozlowski Signed-off-by: Dmitry Osipenko --- drivers/memory/samsung/exynos5422-dmc.c | 13 +++-- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers

[PATCH v1] drm/tegra: Use dev_err_probe()

2021-03-14 Thread Dmitry Osipenko
Use generic dev_err_probe() helper which silences noisy error messages about deferred probe of the Tegra DRM drivers. Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/tegra/dc.c | 13 +++-- drivers/gpu/drm/tegra/hdmi.c | 34 +- 2 files changed, 12

Re: [PATCH v15 1/2] drm/tegra: dc: Support memory bandwidth management

2021-03-15 Thread Dmitry Osipenko
15.03.2021 01:31, Michał Mirosław пишет: > On Thu, Mar 11, 2021 at 08:22:54PM +0300, Dmitry Osipenko wrote: >> Display controller (DC) performs isochronous memory transfers, and thus, >> has a requirement for a minimum memory bandwidth that shall be fulfilled, >> otherwise f

Re: [PATCH v15 1/2] drm/tegra: dc: Support memory bandwidth management

2021-03-16 Thread Dmitry Osipenko
15.03.2021 21:39, Dmitry Osipenko пишет: >>> + /* >>> +* Horizontal downscale needs a lower memory latency, which roughly >>> +* depends on the scaled width. Trying to tune latency of a memory >>> +* client alone will likely result in a strong

Re: [PATCH v15 2/2] drm/tegra: dc: Extend debug stats with total number of events

2021-03-17 Thread Dmitry Osipenko
15.03.2021 01:11, Michał Mirosław пишет: > On Thu, Mar 11, 2021 at 08:22:55PM +0300, Dmitry Osipenko wrote: >> It's useful to know the total number of underflow events and currently >> the debug stats are getting reset each time CRTC is being disabled. Let's >> accou

[PATCH v16 0/2] Add memory bandwidth management to NVIDIA Tegra DRM driver

2021-03-17 Thread Dmitry Osipenko
sor plane index. v13: - No code changes. Patches missed v5.12, re-sending them for v5.13. Dmitry Osipenko (2): drm/tegra: dc: Support memory bandwidth management drm/tegra: dc: Extend debug stats with total number of events drivers/gpu/drm/tegra/Kconfig |

[PATCH v16 2/2] drm/tegra: dc: Extend debug stats with total number of events

2021-03-17 Thread Dmitry Osipenko
It's useful to know the total number of underflow events and currently the debug stats are getting reset each time CRTC is being disabled. Let's account the overall number of events that doesn't get a reset. Reviewed-by: Michał Mirosław Signed-off-by: Dmitry Osipenko --- driver

  1   2   3   4   5   6   7   8   9   10   >