[PATCH v4 1/5] drm/mediatek: Use mailbox rx_callback instead of cmdq_task_cb

2021-10-25 Thread jason-jh . lin
From: Chun-Kuang Hu rx_callback is a standard mailbox callback mechanism and could cover the function of proprietary cmdq_task_cb, so use the standard one instead of the proprietary one. Signed-off-by: Chun-Kuang Hu Signed-off-by: jason-jh.lin --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 16

[PATCH v4 0/5] CMDQ refinement of Mediatek DRM driver

2021-10-25 Thread jason-jh . lin
These refinements include using standard mailbox callback interface, timeout detection, and a fixed cmdq_handle. Change in v4: 1. Add cmdq_vblank_cnt initial value to 3. 2. Move mtk_drm_cmdq_pkt_create to the same define scope with mtk_drm_cmdq_pkt_destroy. Change in v3: 1. Revert

[PATCH v4 2/5] drm/mediatek: Remove the pointer of struct cmdq_client

2021-10-25 Thread jason-jh . lin
From: Chun-Kuang Hu In mailbox rx_callback, it pass struct mbox_client to callback function, but it could not map back to mtk_drm_crtc instance because struct cmdq_client use a pointer to struct mbox_client: struct cmdq_client { struct mbox_client client; struct mbox_chan *chan;

[PATCH v4 4/5] drm/mediatek: Add cmdq_handle in mtk_crtc

2021-10-25 Thread jason-jh . lin
From: Chun-Kuang Hu One mtk_crtc need just one cmdq_handle, so add one cmdq_handle in mtk_crtc to prevent frequently allocation and free of cmdq_handle. Signed-off-by: Chun-Kuang Hu Signed-off-by: jason-jh.lin --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 64 +++-- 1 file

[PATCH v4 5/5] drm/mediatek: Clear pending flag when cmdq packet is done

2021-10-25 Thread jason-jh . lin
From: Yongqiang Niu In cmdq mode, packet may be flushed before it is executed, so the pending flag should be cleared after cmdq packet is done. Signed-off-by: Yongqiang Niu Signed-off-by: jason-jh.lin --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 51 ++--- 1 file changed,

[PATCH v4 3/5] drm/mediatek: Detect CMDQ execution timeout

2021-10-25 Thread jason-jh . lin
From: Chun-Kuang Hu CMDQ is used to update display register in vblank period, so it should be execute in next 2 vblank. One vblank interrupt before send message (occasionally) and one vblank interrupt after cmdq done. If it fail to execute in next 3 vblank, tiemout happen. Signed-off-by:

Re: [PATCH] video: fbdev: cirrusfb: check pixclock to avoid divide by zero

2021-10-25 Thread Zheyu Ma
On Tue, Oct 26, 2021 at 5:45 AM Sam Ravnborg wrote: > > Hi George, > > On Mon, Oct 25, 2021 at 03:33:43PM -0400, George Kennedy wrote: > > > > > > On 10/25/2021 3:07 PM, Greg KH wrote: > > > On Mon, Oct 25, 2021 at 02:01:30PM -0500, George Kennedy wrote: > > > > Do a sanity check on pixclock

Re: [PATCH v3 03/34] component: Introduce the aggregate bus_type

2021-10-25 Thread kernel test robot
Hi Stephen, I love your patch! Perhaps something to improve: [auto build test WARNING on e4e737bb5c170df6135a127739a9e6148ee3da82] url: https://github.com/0day-ci/linux/commits/Stephen-Boyd/component-Make-into-an-aggregate-bus/20211026-080422 base: e4e737bb5c170df6135a127739a9e6148ee3da82

RE: [PATCH 2/4] drm/dp_mst: Only create connector for connected end device

2021-10-25 Thread Lin, Wayne
[Public] Hi Lyude! Apologize for replying late and really thanks for elaborating in such details! Following are some of my thoughts : ) > -Original Message- > From: Lyude Paul > Sent: Saturday, September 18, 2021 1:48 AM > To: Lin, Wayne ; dri-devel@lists.freedesktop.org > Cc:

[PATCH v2] drm: bridge: fix unmet dependency on DRM_KMS_HELPER for DRM_PANEL_BRIDGE

2021-10-25 Thread Julian Braha
When DRM_CHIPONE_ICN6211 is selected, and DRM_KMS_HELPER is not selected, Kbuild gives the following warning: WARNING: unmet direct dependencies detected for DRM_PANEL_BRIDGE Depends on [n]: HAS_IOMEM [=y] && DRM_BRIDGE [=y] && DRM_KMS_HELPER [=n] Selected by [y]: - DRM_CHIPONE_ICN6211 [=y]

Re: [PATCH] drm: bridge: fix unmet dependency on DRM_KMS_HELPER for DRM_PANEL_BRIDGE

2021-10-25 Thread Julian Braha
On Monday, October 25, 2021 6:10:12 PM EDT you wrote: > Hi Julian, > > On Mon, Oct 25, 2021 at 02:51:47PM -0400, Julian Braha wrote: > > On Monday, October 25, 2021 1:47:35 PM EDT you wrote: > > > On Mon, Oct 25, 2021 at 01:42:02PM -0400, Julian Braha wrote: > > > > When DRM_CHIPONE_ICN6211 is

Re: Lockdep spalt on killing a processes

2021-10-25 Thread Andrey Grodzovsky
On 2021-10-25 3:56 p.m., Christian König wrote: In general I'm all there to get this fixed, but there is one major problem: Drivers don't expect the lock to be dropped. I am probably missing something but in my approach we only modify the code for those clients that call dma_fence_signal,

[PULL] topic/amdgpu-dp2.0-mst

2021-10-25 Thread Lyude Paul
topic/amdgpu-dp2.0-mst-2021-10-25: UAPI Changes: Nope! Cross-subsystem Changes: drm_dp_update_payload_part1() takes a new argument for specifying what the VCPI slot start is Core Changes: Make the DP MST helpers aware of the current starting VCPI slot/VCPI total slot count... Driver Changes:

Re: [PATCH] drm/mediatek: Set Rotation default value to 1.

2021-10-25 Thread Sean Paul
On Mon, Oct 25, 2021 at 09:11:54PM -0400, Sean Paul wrote: > On Fri, Oct 22, 2021 at 12:54:02PM -0400, Mark Yacoub wrote: > > From: Mark Yacoub > > > > [Why] > > The Rotation prob is a bitmask value. It must always have a valid value. > > nit: s/prob/prop/ > > > A default NO rotation is equal

Re: [Intel-gfx] [PATCH 1/2] drm: Add Gamma and Degamma LUT sizes props to drm_crtc to validate.

2021-10-25 Thread Sean Paul
On Wed, Oct 13, 2021 at 02:12:20PM -0400, Mark Yacoub wrote: > From: Mark Yacoub > > [Why] > 1. drm_atomic_helper_check doesn't check for the LUT sizes of either Gamma > or Degamma props in the new CRTC state, allowing any invalid size to > be passed on. > 2. Each driver has its own LUT size,

Re: [PATCH] mediatek: Set default value for Panel Orientation connector prop.

2021-10-25 Thread Sean Paul
On Fri, Oct 22, 2021 at 01:24:03PM -0400, Mark Yacoub wrote: > From: Mark Yacoub > > [Why] > Creating the prop uses UNKNOWN as the initial value, which is not a > supported value if the props is to be supported. > > [How] > Set the panel orientation default value to NORMAL right after creating

Re: [PATCH] drm/mediatek: Set Rotation default value to 1.

2021-10-25 Thread Sean Paul
On Fri, Oct 22, 2021 at 12:54:02PM -0400, Mark Yacoub wrote: > From: Mark Yacoub > > [Why] > The Rotation prob is a bitmask value. It must always have a valid value. nit: s/prob/prop/ > A default NO rotation is equal to 1 not 0. > > [How] > 1. At the reset hook, call

Re: [PATCH] mm/migrate.c: Remove MIGRATE_PFN_LOCKED

2021-10-25 Thread Ralph Campbell
On 10/24/21 21:16, Alistair Popple wrote: MIGRATE_PFN_LOCKED is used to indicate to migrate_vma_prepare() that a source page was already locked during migrate_vma_collect(). If it wasn't then the a second attempt is made to lock the page. However if the first attempt failed it's unlikely a

Re: [PATCH] drm/bridge: Fix the bridge chain order for pre_enable / post_disable

2021-10-25 Thread Doug Anderson
Hi, On Mon, Oct 25, 2021 at 1:12 PM Andrzej Hajda wrote: > > This can be important when using the DP AUX bus to instantiate a > panel. The DP AUX bus is likely part of a bridge driver and is a > parent of the panel. We'd like the bridge to be pre_enabled before the > panel

Re: [PATCH] MAINTAINERS: Add Tvrtko as drm/i915 co-maintainer

2021-10-25 Thread Dave Airlie
On Mon, 25 Oct 2021 at 23:51, Daniel Vetter wrote: > > On Mon, Oct 25, 2021 at 3:49 PM Joonas Lahtinen > wrote: > > > > Add Tvrtko Ursulin as a co-maintainer for drm/i915 driver. > > Tvrtko will bring added bandwidth and focus to the GT/GEM domain > > (drm-intel-gt-next). > > > > This will help

[PATCH v3 33/34] component: Get rid of drm_of_component_probe()

2021-10-25 Thread Stephen Boyd
There aren't any users anymore so drop it. Cc: Laurent Pinchart Cc: Daniel Vetter Cc: Greg Kroah-Hartman Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King Cc: Saravana Kannan Signed-off-by: Stephen Boyd --- drivers/gpu/drm/drm_of.c | 85 +---

[PATCH v3 34/34] component: Remove component_master_ops and friends

2021-10-25 Thread Stephen Boyd
The struct is unused now so drop it along with the functions that use it. Cc: Daniel Vetter Cc: Greg Kroah-Hartman Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King Cc: Saravana Kannan Signed-off-by: Stephen Boyd --- drivers/base/component.c | 148

[PATCH v3 27/34] iommu/mtk: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Yong Wu Cc: Joerg Roedel Cc: Will Deacon Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob

[PATCH v3 16/34] drm/ingenic: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. TODO: Move the helpers to PM in aggregate driver hooks. Acked-by: Paul Cercueil Cc: Daniel Vetter

[PATCH v3 15/34] drm/imx: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Philipp Zabel Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King Cc:

[PATCH v3 32/34] ASoC: codecs: wcd938x: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Acked-by: Mark Brown Cc: Jaroslav Kysela Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob

[PATCH v3 26/34] drm/zte: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King Cc: Saravana Kannan

[PATCH v3 25/34] drm/vc4: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Emma Anholt Cc: Maxime Ripard Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc:

[PATCH v3 30/34] fbdev: omap2: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Cc: Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King Cc: Saravana

[PATCH v3 23/34] drm/sun4i: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Maxime Ripard Cc: Chen-Yu Tsai Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc:

[PATCH v3 29/34] power: supply: ab8500: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Acked-by: Sebastian Reichel Cc: Cc: Daniel Vetter Cc: Linus Walleij Cc: "Rafael J. Wysocki"

[PATCH v3 28/34] mei: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Tomas Winkler Cc: Arnd Bergmann Cc: Greg Kroah-Hartman Cc: Daniel Vetter Cc: "Rafael J.

[PATCH v3 31/34] sound: hdac: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Kai Vehmanen Cc: Daniel Vetter Cc: "Rafael J. Wysocki"

[PATCH v3 19/34] drm/meson: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Neil Armstrong Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King

[PATCH v3 24/34] drm/tilcdc: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Jyri Sarha Cc: Tomi Valkeinen Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc:

[PATCH v3 22/34] drm/sti: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King Cc: Saravana Kannan

[PATCH v3 17/34] drm/mcde: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King Cc: Saravana Kannan

[PATCH v3 21/34] drm/rockchip: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Sandy Huang Cc: "Heiko Stübner" Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark

[PATCH v3 18/34] drm/mediatek: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Chun-Kuang Hu Cc: Philipp Zabel Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark

[PATCH v3 20/34] drm/omap: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Tomi Valkeinen Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King

[PATCH v3 10/34] drm/malidp: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. TODO: This can be updated to move the drm helper logic into the aggregate driver shutdown op. Cc:

[PATCH v3 13/34] drm/kirin: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Xinliang Liu Cc: Tian Tao Cc: John Stultz Cc: Xinwei Kong Cc: Chen Feng Cc: Daniel Vetter

[PATCH v3 14/34] drm/exynos: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Inki Dae Cc: Joonyoung Shim Cc: Seung-Woo Kim Cc: Kyungmin Park Cc: Daniel Vetter Cc:

[PATCH v3 11/34] drm/armada: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Russell King Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Saravana Kannan

[PATCH v3 12/34] drm/etnaviv: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Lucas Stach Cc: Russell King Cc: Christian Gmeiner Cc: Daniel Vetter Cc: "Rafael J.

[PATCH v3 09/34] drm/arm/hdlcd: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: Liviu Dudau Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King Cc:

[PATCH v3 08/34] drm/komeda: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
Use an aggregate driver instead of component ops so that we can get proper driver probe ordering of the aggregate device with respect to all the component devices that make up the aggregate device. Cc: James Qian Wang (Arm Technology China) Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob

[PATCH v3 05/34] component: Add {bind, unbind}_component() ops that take aggregate device

2021-10-25 Thread Stephen Boyd
We'd like to get more device model features in the component framework so let's pass the struct aggregate_device pointer instead of the parent device pointer to the component binding functions. This will allow drivers to inspect and control things related to the aggregate device in case they need

[PATCH v3 02/34] component: Remove most references to 'master'

2021-10-25 Thread Stephen Boyd
Remove most references to 'master' in the code now that we've decided to migrate all the users of the ops structure to the aggregate driver. Cc: Daniel Vetter Cc: Greg Kroah-Hartman Cc: Laurent Pinchart Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King Cc: Saravana Kannan

[PATCH v3 06/34] drm/of: Add a drm_of_aggregate_probe() API

2021-10-25 Thread Stephen Boyd
Similar to drm_of_component_probe() but using the new API that registers a driver instead of an ops struct. This allows us to migrate the users of drm_of_component_probe() to the new way of doing things. Cc: Laurent Pinchart Cc: Daniel Vetter Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell

[PATCH v3 04/34] component: Move struct aggregate_device out to header file

2021-10-25 Thread Stephen Boyd
This allows aggregate driver writers to use the device passed to their probe/remove/shutdown functions properly instead of treating it as an opaque pointer. Cc: Daniel Vetter Cc: Greg Kroah-Hartman Cc: Laurent Pinchart Cc: "Rafael J. Wysocki" Cc: Rob Clark Cc: Russell King Cc: Saravana

[PATCH v3 07/34] drm/msm: Migrate to aggregate driver

2021-10-25 Thread Stephen Boyd
The device lists are poorly ordered when the component device code is used. This is because component_master_add_with_match() returns 0 regardless of component devices calling component_add() first. It can really only fail if an allocation fails, in which case everything is going bad and we're out

[PATCH v3 03/34] component: Introduce the aggregate bus_type

2021-10-25 Thread Stephen Boyd
The component driver only provides 'bind' and 'unbind' callbacks to tell the host driver that it is time to assemble the aggregate driver now that all the components have probed. The component driver model doesn't attempt to resolve runtime PM or suspend/resume ordering, and explicitly mentions

[PATCH v3 01/34] component: Introduce struct aggregate_device

2021-10-25 Thread Stephen Boyd
Replace 'struct master' with 'struct aggregate_device' and then rename 'master' to 'adev' everywhere in the code. While we're here, put a struct device inside the aggregate device so that we can register it with a bus_type in the next patch. The diff is large but that's because this is mostly a

[PATCH v3 00/34] component: Make into an aggregate bus

2021-10-25 Thread Stephen Boyd
This series is from discussion we had on reordering the device lists for drm shutdown paths[1]. I've introduced an 'aggregate' bus that we put the aggregate device onto and then we probe the aggregate device once all the components are probed and call component_add(). The probe/remove hooks are

Re: [PATCH v6 14/16] drm/mediatek: add ovl_adaptor support for MT8195

2021-10-25 Thread Chun-Kuang Hu
Hi, Nancy: Nancy.Lin 於 2021年10月4日 週一 下午2:21寫道: > > Add ovl_adaptor driver for MT8195. > Ovl_adaptor is an encapsulated module and designed for simplified > DRM control flow. This module is composed of 8 RDMAs, 4 MERGEs and > an ETHDR. Two RDMAs merge into one layer, so this module support 4 >

Re: [PATCH] dma-buf: fix uninitialized variable usage in selftests

2021-10-25 Thread Nathan Chancellor
Hi Christian, On Mon, Oct 25, 2021 at 09:28:35AM +0200, Christian König wrote: > "i" can be used uninitialized in one of the error branches. Fix this. > > Signed-off-by: Christian König > Reported-by: kernel test robot > --- > drivers/dma-buf/st-dma-resv.c | 3 ++- > 1 file changed, 2

[PATCH v14 33/39] ARM: tegra: Rename CPU and EMC OPP table device-tree nodes

2021-10-25 Thread Dmitry Osipenko
OPP table name now should start with "opp-table" and OPP entries shouldn't contain commas and @ signs in accordance to the new schema requirement. Reorganize CPU and EMC OPP table device-tree nodes. Signed-off-by: Dmitry Osipenko --- arch/arm/boot/dts/tegra124-apalis-emc.dtsi| 4 +-

[PATCH v14 27/39] soc/tegra: fuse: Reset hardware

2021-10-25 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 v14 23/39] spi: tegra20-slink: Add OPP support

2021-10-25 Thread Dmitry Osipenko
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 the controller's clock rate because OPP API takes care of reconfiguring the domain's performance state in accordance to the rate. Add OPP

[PATCH v14 39/39] ARM: tegra20/30: Disable unused host1x hardware

2021-10-25 Thread Dmitry Osipenko
MPE, VI, EPP and ISP were never used and we don't have drivers for them. Since these modules are enabled by default in a device-tree, a device is created for them, blocking voltage scaling because there is no driver to bind, and thus, state of PMC driver is never synced. Disable them.

[PATCH v14 36/39] ARM: tegra: Add OPP tables and power domains to Tegra30 device-trees

2021-10-25 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 --- arch/arm/boot/dts/tegra20-trimslice.dts |2 +-

[PATCH v14 34/39] ARM: tegra: Add 500MHz entry to Tegra30 memory OPP table

2021-10-25 Thread Dmitry Osipenko
Extend memory OPPs with 500MHz entry. This clock rate is used by ASUS Transformer tablets. Signed-off-by: Dmitry Osipenko --- arch/arm/boot/dts/tegra30-peripherals-opp.dtsi | 18 ++ 1 file changed, 18 insertions(+) diff --git a/arch/arm/boot/dts/tegra30-peripherals-opp.dtsi

[PATCH v14 31/39] soc/tegra: pmc: Rename core power domain

2021-10-25 Thread Dmitry Osipenko
CORE power domain uses name of device-tree node, which is inconsistent with the names of PMC domains. Set the name to "core" to make it consistent. Signed-off-by: Dmitry Osipenko --- drivers/soc/tegra/pmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[PATCH v14 28/39] soc/tegra: fuse: Use resource-managed helpers

2021-10-25 Thread Dmitry Osipenko
Use resource-managed helpers to make code cleaner and more correct, properly releasing all resources in case of driver probe error. Signed-off-by: Dmitry Osipenko --- drivers/soc/tegra/fuse/fuse-tegra.c | 32 ++ drivers/soc/tegra/fuse/fuse-tegra20.c | 33

[PATCH v14 38/39] ARM: tegra: Add Memory Client resets to Tegra30 GR2D, GR3D and Host1x

2021-10-25 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 v14 35/39] ARM: tegra: Add OPP tables and power domains to Tegra20 device-trees

2021-10-25 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 +

[PATCH v14 32/39] soc/tegra: pmc: Enable core domain support for Tegra20 and Tegra30

2021-10-25 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

[PATCH v14 26/39] media: staging: tegra-vde: Support generic power domain

2021-10-25 Thread Dmitry Osipenko
Currently driver supports legacy power domain API, this patch adds generic power domain support. This allows us to utilize a modern GENPD API for newer device-trees. Tested-by: Peter Geis # Ouya T30 Tested-by: Paul Fertser # PAZ00 T20 Tested-by: Nicolas Chauvet # PAZ00 T20 and TK1 T124

[PATCH v14 37/39] ARM: tegra: Add Memory Client resets to Tegra20 GR2D, GR3D and Host1x

2021-10-25 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: Paul Fertser # PAZ00 T20 Tested-by: Nicolas Chauvet # PAZ00 T20 Signed-off-by:

[PATCH v14 29/39] soc/tegra: regulators: Prepare for suspend

2021-10-25 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 v14 24/39] media: dt: bindings: tegra-vde: Convert to schema

2021-10-25 Thread Dmitry Osipenko
Convert NVIDIA Tegra video decoder binding to schema. Reviewed-by: Rob Herring Acked-by: Hans Verkuil Signed-off-by: Dmitry Osipenko --- .../bindings/media/nvidia,tegra-vde.txt | 64 --- .../bindings/media/nvidia,tegra-vde.yaml | 107 ++ 2 files changed,

[PATCH v14 10/39] drm/tegra: dc: Support OPP and SoC core voltage scaling

2021-10-25 Thread Dmitry Osipenko
Add OPP and SoC core voltage scaling support to the display controller driver. This is required for enabling system-wide DVFS on pre-Tegra186 SoCs. 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 #

[PATCH v14 30/39] soc/tegra: pmc: Rename 3d power domains

2021-10-25 Thread Dmitry Osipenko
Device-tree schema doesn't allow domain name to start with a number. We don't use 3d domain yet in device-trees, so rename it to the name used by Tegra TRMs: TD, TD2. Reported-by: David Heidelberg Signed-off-by: Dmitry Osipenko --- drivers/soc/tegra/pmc.c | 8 1 file changed, 4

[PATCH v14 25/39] media: dt: bindings: tegra-vde: Document OPP and power domain

2021-10-25 Thread Dmitry Osipenko
Document new OPP table and power domain properties of the video decoder hardware. Reviewed-by: Rob Herring Acked-by: Hans Verkuil Signed-off-by: Dmitry Osipenko --- .../devicetree/bindings/media/nvidia,tegra-vde.yaml | 12 1 file changed, 12 insertions(+) diff --git

[PATCH v14 14/39] drm/tegra: vic: Stop channel on suspend

2021-10-25 Thread Dmitry Osipenko
CDMA must be stopped before hardware is suspended. Add channel stopping to RPM suspend callback. Add system level suspend-resume callbacks. Runtime PM initialization is moved to host1x client init phase because RPM callback now uses host1x channel that is available only when host1x client is

[PATCH v14 13/39] drm/tegra: gr3d: Support generic power domain and runtime PM

2021-10-25 Thread Dmitry Osipenko
Add runtime power management and support generic power domains. 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 | 363

[PATCH v14 20/39] pwm: tegra: Add runtime PM and OPP support

2021-10-25 Thread Dmitry Osipenko
The PWM on Tegra belongs to the core power domain and we're going to enable GENPD support for the core domain. Now PWM must be resumed using runtime PM API in order to initialize the PWM power state. The PWM clock rate must be changed using OPP API that will reconfigure the power domain

[PATCH v14 08/39] gpu: host1x: Add initial runtime PM and OPP support

2021-10-25 Thread Dmitry Osipenko
Add runtime PM and OPP support to the Host1x driver. For the starter we will keep host1x always-on because dynamic power management require a major refactoring of the driver code since lot's of code paths are missing the RPM handling and we're going to remove some of these paths in the future.

[PATCH v14 21/39] mmc: sdhci-tegra: Add runtime PM and OPP support

2021-10-25 Thread Dmitry Osipenko
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 API in order to initialize the SDHCI power state. The SDHCI clock rate must be changed using OPP API that will reconfigure the power domain

[PATCH v14 19/39] bus: tegra-gmi: Add runtime PM and OPP support

2021-10-25 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 Osipenko ---

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

2021-10-25 Thread Dmitry Osipenko
Previously we assumed that devm_tegra_core_dev_init_opp_table() will be used only by drivers that will always have device with OPP table, but this is not true anymore. For example now Tegra30 will have OPP table for PWM, but Tegra20 not and both use the same driver. Hence let's not print the error

[PATCH v14 22/39] mtd: rawnand: tegra: Add runtime PM and OPP support

2021-10-25 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. Acked-by: Miquel Raynal Signed-off-by:

[PATCH v14 07/39] dt-bindings: host1x: Document Memory Client resets of Host1x, GR2D and GR3D

2021-10-25 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. Reviewed-by: Rob Herring Signed-off-by: Dmitry Osipenko ---

[PATCH v14 12/39] drm/tegra: gr2d: Support generic power domain and runtime PM

2021-10-25 Thread Dmitry Osipenko
Add runtime power management and support generic power domains. 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 | 184

[PATCH v14 16/39] drm/tegra: submit: Remove pm_runtime_enabled() checks

2021-10-25 Thread Dmitry Osipenko
Runtime PM is now universally available, make it mandatory by removing the pm_runtime_enabled() checks. Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/tegra/submit.c | 13 + 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/tegra/submit.c

[PATCH v14 04/39] dt-bindings: clock: tegra-car: Document new clock sub-nodes

2021-10-25 Thread Dmitry Osipenko
Document sub-nodes which describe Tegra SoC clocks that require a higher voltage of the core power domain in order to operate properly on a higher clock rates. Each node contains a phandle to OPP table and power domain. The root PLLs and system clocks don't have any specific device dedicated to

[PATCH v14 17/39] drm/tegra: submit: Add missing pm_runtime_mark_last_busy()

2021-10-25 Thread Dmitry Osipenko
Runtime PM auto-suspension doesn't work without pm_runtime_mark_last_busy(), add it. Signed-off-by: Dmitry Osipenko --- drivers/gpu/drm/tegra/submit.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/tegra/submit.c b/drivers/gpu/drm/tegra/submit.c index

[PATCH v14 09/39] gpu: host1x: Add host1x_channel_stop()

2021-10-25 Thread Dmitry Osipenko
Add host1x_channel_stop() which waits till channel becomes idle and then stops the channel hardware. This is needed for supporting suspend/resume by host1x drivers since the hardware state is lost after power-gating, thus the channel needs to be stopped before client enters into suspend.

[PATCH v14 15/39] drm/tegra: nvdec: Stop channel on suspend

2021-10-25 Thread Dmitry Osipenko
CDMA must be stopped before hardware is suspended. Add channel stopping to RPM suspend callback. Add system level suspend-resume callbacks. Runtime PM initialization is moved to host1x client init phase because RPM callback now uses host1x channel that is available only when host1x client is

[PATCH v14 11/39] drm/tegra: hdmi: Add OPP support

2021-10-25 Thread Dmitry Osipenko
The HDMI on Tegra belongs to the core power domain and we're going to enable GENPD support for the core domain. Now HDMI driver must use OPP API for driving the controller's clock rate because OPP API takes care of reconfiguring the domain's performance state based on HDMI clock rate. Add OPP

[PATCH v14 18/39] usb: chipidea: tegra: Add runtime PM and OPP support

2021-10-25 Thread Dmitry Osipenko
The Tegra USB controller belongs to the core power domain and we're going to enable GENPD support for the core domain. Now USB controller must be resumed using runtime PM API in order to initialize the USB power state. We already support runtime PM for the CI device, but CI's PM is separated from

[PATCH v14 06/39] dt-bindings: host1x: Document OPP and power domain properties

2021-10-25 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

[PATCH v14 02/39] soc/tegra: Add devm_tegra_core_dev_init_opp_table_common()

2021-10-25 Thread Dmitry Osipenko
Only couple drivers need to get the -ENODEV error code and majority of drivers need to explicitly initialize the performance state. Add new common helper which sets up OPP table for these drivers. Signed-off-by: Dmitry Osipenko --- include/soc/tegra/common.h | 15 +++ 1 file

[PATCH v14 05/39] clk: tegra: Support runtime PM and power domain

2021-10-25 Thread Dmitry Osipenko
The Clock-and-Reset controller resides in a core power domain on NVIDIA Tegra SoCs. In order to support voltage scaling of the core power domain, we hook up DVFS-capable clocks to the core GENPD for managing of the GENPD's performance state based on the clock changes. Some clocks don't have any

[PATCH v14 01/39] soc/tegra: Enable runtime PM during OPP state-syncing

2021-10-25 Thread Dmitry Osipenko
GENPD core now can set up domain's performance state properly while device is RPM-suspended. Runtime PM of a device must be enabled during setup because GENPD checks whether device is suspended and check doesn't work while RPM is disabled. Instead of replicating the boilerplate RPM-enable code

[PATCH v14 00/39] NVIDIA Tegra power management patches for 5.17

2021-10-25 Thread Dmitry Osipenko
This series adds runtime PM support to Tegra drivers and enables core voltage scaling for Tegra20/30 SoCs, resolving overheating troubles. All patches in this series are interdependent and should go via Tegra tree for simplicity. Changelog: v14: - Fixed missing runtime PM syncing on removal of

[PATCH RESEND v5 0/4] drm/amdgpu, Add DP 2.0 MST support + drm/dp_mst helpers

2021-10-25 Thread Lyude Paul
(Sorry for the noise, had to resend because I typo'd amd's mailing list email address by accident) Just resubmitting this patch series from AMD with _very_ minor changes (just a typo and fixing a debug message) so that this can be pushed upstream with a proper patchwork link. Will be pushing this

[PATCH RESEND v5 4/4] drm/amd/display: Add DP 2.0 MST DM Support

2021-10-25 Thread Lyude Paul
From: Bhawanpreet Lakha [Why] Add DP2 MST and debugfs support [How] Update the slot info based on the link encoding format Reviewed-by: "Lin, Wayne" Signed-off-by: Bhawanpreet Lakha Signed-off-by: Fangzhi Zuo Signed-off-by: Lyude Paul --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 29

[PATCH RESEND v5 3/4] drm/amd/display: Add DP 2.0 MST DC Support

2021-10-25 Thread Lyude Paul
From: Fangzhi Zuo [Why] configure/call DC interface for DP2 mst support. This is needed to make DP2 mst work. [How] - add encoding type, logging, mst update/reduce payload functions Use the link encoding to determine the DP type (1.4 or 2.0) and add a flag to dc_stream_update to determine

  1   2   3   >