Hi Hamza,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next
drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-tip/drm-tip
linus/master v6.11-rc7 next-20240906]
[If y
This adds a new value to drm_panthor_group_priority exposing the
realtime priority to userspace.
This is required to implement NV_context_priority_realtime in Mesa.
v2:
- Add Steven Price r-b
v3:
- Add Boris Brezillon r-b
Signed-off-by: Mary Guillemard
Reviewed-by: Steven Price
Reviewed-by: B
Expose allowed group priorities with a new device query.
This new uAPI will be used in Mesa to properly report what priorities a
user can use for EGL_IMG_context_priority.
Since this extends the uAPI and because userland needs a way to
advertise priorities accordingly, this also bumps the driver
This patch series adds support for realtime group priority and exposes
allowed priorities info with a new dev query.
Those changes are required to implement EGL_IMG_context_priority and
EGL_NV_context_priority_realtime extensions properly.
This patch series assumes that [1] is applied. (found in
In ch7006_encoder_get_modes(), the return value of drm_mode_duplicate() is
used directly in drm_mode_probed_add(), which will lead to a NULL pointer
dereference on failure of drm_mode_duplicate(). Add a check to avoid npd.
Cc: sta...@vger.kernel.org
Fixes: 6ee738610f41 ("drm/nouveau: Add DRM drive
Hi
Am 09.09.24 um 07:15 schrieb Yan Zhao:
Use ioremap_wc() instead of ioremap() to map framebuffer during driver
probing phase.
Using ioremap() results in a VA being mapped with PAT=UC-. Additionally,
on x86 architectures, ioremap() invokes memtype_reserve() to reserve the
memory type as UC- fo
In dcn32_enable_phantom_plane, we should better check null pointer before
accessing various structs.
Cc: sta...@vger.kernel.org
Fixes: 235c67634230 ("drm/amd/display: add DCN32/321 specific files for Display
Core")
Signed-off-by: Ma Ke
---
drivers/gpu/drm/amd/display/dc/resource/dcn32/dcn32_res
The return value of drm_atomic_get_crtc_state() needs to be
checked. To avoid use of error pointer 'crtc_state' in case
of the failure.
Cc: sta...@vger.kernel.org
Fixes: dd86dc2f9ae1 ("drm/sti: implement atomic_check for the planes")
Signed-off-by: Ma Ke
---
drivers/gpu/drm/sti/sti_gdp.c | 3 +++
在 2024/9/9 13:03, Kasireddy, Vivek 写道:
Hi Huan,
Subject: Re: [PATCH v5 4/7] udmabuf: udmabuf_create pin folio codestyle
cleanup
在 2024/9/6 16:17, Kasireddy, Vivek 写道:
Hi Huan,
Subject: [PATCH v5 4/7] udmabuf: udmabuf_create pin folio codestyle
cleanup
This patch split pin folios into si
On Mon, Sep 09, 2024 at 10:31:47AM +0800, Jianeng Ceng wrote:
> Ponyta is a custom label Chromebook based on MT8186. It is a
> self-developed project of Huaqin and has no fixed OEM.
>
> Signed-off-by: Jianeng Ceng
> ---
Do not attach (thread) your patchsets to some other threads (unrelated
or ol
ncdevmem is a devmem TCP netcat. It works similarly to netcat, but it
sends and receives data using the devmem TCP APIs. It uses udmabuf as
the dmabuf provider. It is compatible with a regular netcat running on
a peer, or a ncdevmem running on a peer.
In addition to normal netcat support, ncdevmem
Add dmabuf information to page_pool stats:
$ ./cli.py --spec ../netlink/specs/netdev.yaml --dump page-pool-get
...
{'dmabuf': 10,
'id': 456,
'ifindex': 3,
'inflight': 1023,
'inflight-mem': 4190208},
{'dmabuf': 10,
'id': 455,
'ifindex': 3,
'inflight': 1023,
'inflight-mem': 4190208
In tcp_recvmsg_locked(), detect if the skb being received by the user
is a devmem skb. In this case - if the user provided the MSG_SOCK_DEVMEM
flag - pass it to tcp_recvmsg_devmem() for custom handling.
tcp_recvmsg_devmem() copies any data in the skb header to the linear
buffer, and returns a cmsg
Add documentation outlining the usage and details of devmem TCP.
Signed-off-by: Mina Almasry
Reviewed-by: Bagas Sanjaya
Reviewed-by: Donald Hunter
---
v25:
- Doc cleanups (Jakub)
v16:
- Add documentation on unbinding the NIC from dmabuf (Donald).
- Add note that any dmabuf should work (Donal
Add an interface for the user to notify the kernel that it is done
reading the devmem dmabuf frags returned as cmsg. The kernel will
drop the reference on the frags to make them available for reuse.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewe
For device memory TCP, we expect the skb headers to be available in host
memory for access, and we expect the skb frags to be in device memory
and unaccessible to the host. We expect there to be no mixing and
matching of device memory frags (unaccessible) with host memory frags
(accessible) in the
Make skb_frag_page() fail in the case where the frag is not backed
by a page, and fix its relevant callers to handle this case.
Signed-off-by: Mina Almasry
Reviewed-by: Eric Dumazet
Reviewed-by: Jakub Kicinski
---
v10:
- Fixed newly generated kdoc warnings found by patchwork. While we're
a
Implement a memory provider that allocates dmabuf devmem in the form of
net_iov.
The provider receives a reference to the struct netdev_dmabuf_binding
via the pool->mp_priv pointer. The driver needs to set this pointer for
the provider in the net_iov.
The provider obtains a reference on the netde
Convert netmem to be a union of struct page and struct netmem. Overload
the LSB of struct netmem* to indicate that it's a net_iov, otherwise
it's a page.
Currently these entries in struct page are rented by the page_pool and
used exclusively by the net stack:
struct {
unsigned long pp_mag
Implement netdev devmem allocator. The allocator takes a given struct
netdev_dmabuf_binding as input and allocates net_iov from that
binding.
The allocation simply delegates to the binding's genpool for the
allocation logic and wraps the returned memory region in a net_iov
struct.
Signed-off-by:
Add a netdev_dmabuf_binding struct which represents the
dma-buf-to-netdevice binding. The netlink API will bind the dma-buf to
rx queues on the netdevice. On the binding, the dma_buf_attach
& dma_buf_map_attachment will occur. The entries in the sg_table from
mapping will be inserted into a genpool
API takes the dma-buf fd as input, and binds it to the netdevice. The
user can specify the rx queues to bind the dma-buf to.
Suggested-by: Stanislav Fomichev
Signed-off-by: Mina Almasry
Reviewed-by: Donald Hunter
Reviewed-by: Jakub Kicinski
---
v16:
- Use subset-of: queue queue-id instead of
Add netdev_rx_queue_restart(), which resets an rx queue using the
queue API recently merged[1].
The queue API was merged to enable the core net stack to reset individual
rx queues to actuate changes in the rx queue's configuration. In later
patches in this series, we will use netdev_rx_queue_resta
v25: https://patchwork.kernel.org/project/netdevbpf/list/?series=885396&state=*
===
Major changes:
- Moved devmem.h and mp_dmabuf_devmem.h to internal header files.
- Changed the page_pool_params to take in a queue_idx rather than
a struct netdev_rx_queue.
- Added WARN_ON_ONCE around __skb_check
On Mon, Sep 9, 2024 at 2:41 AM Daniel Gomez (Samsung)
wrote:
>
> On Sun, Sep 8, 2024 at 1:56 AM Masahiro Yamada wrote:
> >
> > On Fri, Sep 6, 2024 at 8:01 PM Daniel Gomez via B4 Relay
> > wrote:
> > >
> > > From: Daniel Gomez
> > >
> > > The uuid_t struct defined in sys/types.h on macOS hosts c
On Fri, Sep 6, 2024 at 4:34 PM Michael Walle wrote:
>
> Hi Daniel,
>
> > > To cite the datasheet on VSDELAY:
> > > During DSI link speed is slower than that of LVDS link’s, data needs
> > > to be buffer within 775XBG before outputting to prevent data from
> > > underflow. Register field VPCT
> -Original Message-
> From: Murthy, Arun R
> Sent: Thursday, August 29, 2024 2:34 PM
> To: Garg, Nemesa ; intel-...@lists.freedesktop.org;
> dri-devel@lists.freedesktop.org
> Cc: Garg, Nemesa
> Subject: RE: [v4 2/5] drm/i915/display: Compute the scaler filter coefficients
>
> > -
Use ioremap_wc() instead of ioremap() to map framebuffer during driver
probing phase.
Using ioremap() results in a VA being mapped with PAT=UC-. Additionally,
on x86 architectures, ioremap() invokes memtype_reserve() to reserve the
memory type as UC- for the physical range. This reservation can ca
Hi Huan,
> Subject: Re: [PATCH v5 4/7] udmabuf: udmabuf_create pin folio codestyle
> cleanup
>
>
> 在 2024/9/6 16:17, Kasireddy, Vivek 写道:
> > Hi Huan,
> >
> >> Subject: [PATCH v5 4/7] udmabuf: udmabuf_create pin folio codestyle
> >> cleanup
> >>
> >> This patch split pin folios into single funct
>From DT point of view, in general, drivers should be asking for a
specific port number because their function is fixed in the binding.
of_graph_get_next_endpoint() doesn't match to this concept.
Simply replace
- of_graph_get_next_endpoint(xxx, NULL);
+ of_graph_get_endpoint_by_r
Hi Hamza,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next
drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-tip/drm-tip
linus/master v6.11-rc7 next-20240906]
[If y
Hi all,
Today's linux-next merge of the drm tree got a conflict in:
drivers/gpu/drm/xe/display/xe_display.c
between commit:
4bfc9c553f5e ("drm/xe/display: Avoid encoder_suspend at runtime suspend")
from Linus' tree and commit:
769b081c18b9 ("drm/i915/opregion: convert to struct intel_di
> Subject: Re: i.MX8MP IMX-LCDIF Underrun Question(s)
>
> On 06.09.24 3:46 AM, Adam Ford wrote:
> > I have been testing various settings on the HDMI out of the i.MX8MP.
> >
> > I noticed that sometimes my monitor would not sync, but sometimes
> it
> > would on the same resolution/refresh rate. Fr
MT8186 ponyta, known as huaqin custom label, is a
MT8186 based laptop. It is based on the "corsola" design.
It includes LTE, touchpad combinations.
Signed-off-by: Jianeng Ceng
---
Changes in v5:
- PATCH 2/2: Remove sku2147483647.
- Link to
v4:https://lore.kernel.org/all/20240906085739.1322676-3-
Ponyta is a custom label Chromebook based on MT8186. It is a
self-developed project of Huaqin and has no fixed OEM.
Signed-off-by: Jianeng Ceng
---
Changes in v5:
- PATCH 1/2: Remove sku2147483647.
- Link to
v4:https://lore.kernel.org/all/20240906085739.1322676-2-cengjian...@huaqin.corp-partner.
This is v5 of the MT8186 Chromebook device tree series.
---
Changes in v5:
- PATCH 1/2: Remove sku2147483647.
- PATCH 2/2: Remove sku2147483647.
- Link to
v4:https://lore.kernel.org/all/20240906085739.1322676-1-cengjian...@huaqin.corp-partner.google.com/
Changes in v4:
- PATCH 1/2: Add more info
Hi Dave and Daniel,
Just three cleanups and one fixup.
Please kindly let me know if there is any problem.
Thanks,
Inki Dae
The following changes since commit e066e9aa4d9c869c92d1d03647472e4ce96c0919:
MAINATINERS: update drm maintainer contacts (2024-09-03 20:07:57 +0200)
are available in
base: 8400291e289ee6b2bf9779ff1c83a291501f017b
patch link:
https://lore.kernel.org/r/20240906-b4-rk3588-bridge-upstream-v6-3-a3128fb103eb%40collabora.com
patch subject: [PATCH v6 3/3] drm/rockchip: Add basic RK3588 HDMI output support
config: powerpc64-randconfig-r122-20240908
(https
Hi Dave and Daniel,
There was my mistake. One patch not related to Exynos was included to this
PR.
I will resend it again.
Thanks,
Inki Dae
> -Original Message-
> From: Inki Dae On Behalf Of Inki Dae
> Sent: Friday, September 6, 2024 6:14 PM
> To: airl...@linux.ie; dan...@ffwll.ch
> Cc:
On Tue, Sep 3, 2024 at 2:19 PM Jakub Kicinski wrote:
>
> On Sat, 31 Aug 2024 00:43:06 + Mina Almasry wrote:
> > diff --git a/include/net/mp_dmabuf_devmem.h b/include/net/mp_dmabuf_devmem.h
> > new file mode 100644
> > index ..6d1cf2a77f6b
> > --- /dev/null
> > +++ b/include/net/mp_
On Sat, Sep 7, 2024 at 12:47 AM Leo Li wrote:
>
>
> Hi Mikhail,
>
> I've tried to align my system with yours as best as I can, but so far, I've
> had
> no luck reproducing the hang. A video of what I'm doing:
> https://youtu.be/VeD-LPCnfWM?si=b2baF8MyDBuU4jRH
> (Under the hood, the W7900 and 7900
The commit introducing the Frida display started to write the
SETVCMOFF registers unconditionally, and some (not all!) Hydis
display seem to be affected by ghosting after the commit.
Make SETVCMOFF optional and only send these commands on the
Frida display for now.
Reported-by: Stefan Hansson
Fi
Hi Linus!
On 2024-09-06 23:54, Linus Walleij wrote:
The commit introducing the Frida display started to write the
SETVCL, BT3CTR and SETVCMOFF registers unconditionally, and some
(not all!) Hydis display seem to be affected by ghosting after
the commit.
Make them all optional and only send thes
aspace = gpu->funcs->create_private_address_space(gpu);
- if (!IS_ERR(aspace))
+ if (!IS_ERR_OR_NULL(aspace))
aspace->pid = get_pid(task_pid(task));
}
---
base-commit: 9aaeb87ce1e966169a57f53a02ba05b30880ffb8
change-id: 20240908-adreno
On Sun, Sep 8, 2024 at 1:56 AM Masahiro Yamada wrote:
>
> On Fri, Sep 6, 2024 at 8:01 PM Daniel Gomez via B4 Relay
> wrote:
> >
> > From: Daniel Gomez
> >
> > The uuid_t struct defined in sys/types.h on macOS hosts conflicts with
> > the one defined in file2alias, resulting in the typedef redefi
On RK3399 the VOPL is loaded before VOPB and get registered as crtc-0.
However, on RK3288 and PX30 VOPB is gets registered as crtc-0 instead of
VOPL.
With VOPL registered as crtc-0 the kernel kms client is not able to
enable 4K display modes for console use on RK3399.
Load VOPB before VOPL to hel
Use a maximum TMDS clock rate limit of 594MHz to enable use of HDMI2.0
modes, e.g. 4K@60Hz, on RK3399 and RK3568.
Signed-off-by: Jonas Karlman
Tested-by: Diederik de Haas # Quartz64 Model B
---
v2: Collect t-b tag
---
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 4 ++--
1 file changed, 2 inser
From: Douglas Anderson
The previous tables for mpll_cfg and curr_ctrl were created using the
20-pages of example settings provided by the PHY vendor. Those
example settings weren't particularly dense, so there were places
where we were guessing what the settings would be for 10-bit and
12-bit (n
From: Douglas Anderson
Jitter was improved by lowering the MPLL bandwidth to account for high
frequency noise in the rk3288 PLL. In each case MPLL bandwidth was
lowered only enough to get us a comfortable margin. We believe that
lowering the bandwidth like this is safe given sufficient testing.
From: Nickey Yang
Add phy_config for 594Mhz pixel clock used for HDMI2.0 display modes.
Signed-off-by: Nickey Yang
Signed-off-by: Jonas Karlman
---
v2: No change
---
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/rockchip/dw_hdm
From: Yakir Yang
Dut to the high HDMI signal voltage driver, Mickey have meet
a serious RF/EMI problem, so we decided to reduce HDMI signal
voltage to a proper value.
The default params for phy is cklvl = 20 & txlvl = 13 (RF/EMI failed)
ck: lvl = 13, term=100, vlo = 2.71, vhi=3.14, vswing = 0.
RK3228 and RK3328 clock rate is being validated against a mpll config
table intended for a Synopsys phy, and not the used inno-hdmi-phy.
Instead get a reference to the hdmiphy clk and validate rates against
it to enable use of HDMI2.0 modes, e.g. 4K@60Hz, on RK3228 and RK3328.
For Synopsis phy th
This prepares and enable use of HDMI2.0 modes, e.g. 4K@60Hz, on RK3228,
RK3328, RK3399 and RK356x. Support for 10-bit and/or YUV output modes is
not part of this series.
Patch 1 add hdmiphy rate validation in mode_valid so that HDMI2.0 modes
can be enabled on RK3228 and RK3328.
Patch 2-5 modify p
Mark local static 'struct regmap_config' as const for safer and more
obvious code.
Signed-off-by: Krzysztof Kozlowski
---
drivers/gpu/drm/bridge/ti-dlpc3433.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/ti-dlpc3433.c
b/drivers/gpu/drm/bridge/ti-dlp
Mark local static 'struct regmap_config' as const for safer and more
obvious code.
Signed-off-by: Krzysztof Kozlowski
---
drivers/gpu/drm/mediatek/mtk_dp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/mediatek/mtk_dp.c
b/drivers/gpu/drm/mediatek/mtk_dp.c
i
Mark local static 'struct regmap_config' as const for safer and more
obvious code.
Signed-off-by: Krzysztof Kozlowski
---
drivers/gpu/drm/fsl-dcu/fsl_tcon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/fsl-dcu/fsl_tcon.c
b/drivers/gpu/drm/fsl-dcu/fsl_tcon.
Mark local static 'struct regmap_config' as const for safer and more
obvious code.
Signed-off-by: Krzysztof Kozlowski
---
drivers/gpu/drm/meson/meson_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/meson/meson_drv.c
b/drivers/gpu/drm/meson/meson_drv.c
i
static inline dw_hdmi_dwc_write_bits() function is not used at all:
drivers/gpu/drm/meson/meson_dw_hdmi.c:276:20: error: unused function
'dw_hdmi_dwc_write_bits' [-Werror,-Wunused-function]
Signed-off-by: Krzysztof Kozlowski
---
drivers/gpu/drm/meson/meson_dw_hdmi.c | 14 --
1 fi
insertions(+), 18 deletions(-)
---
base-commit: ad40aff1edffeccc412cde93894196dca7bc739e
change-id: 20240908-regmap-config-const-2b6e126feb8b
Best regards,
--
Krzysztof Kozlowski
On 9/8/24 12:07 AM, Lucas De Marchi wrote:
> On Sat, Sep 07, 2024 at 08:38:30PM GMT, Asahi Lina wrote:
>>
>>
>> On 9/6/24 6:42 PM, Raag Jadav wrote:
>>> Introduce device wedged event, which will notify userspace of wedged
>>> (hanged/unusable) state of the DRM device through a uevent. This is
>>
On Fri, Sep 6, 2024 at 8:01 PM Daniel Gomez via B4 Relay
wrote:
>
> From: Nick Desaulniers
>
> When building the Linux kernel on an aarch64 macOS based host, if we don't
> specify a value for ARCH when invoking make, we default to arm and thus
> multi_v7_defconfig rather than the expected arm64 a
Use the passed mode instead of mixing use of passed mode and the stored
previous_mode. The passed mode is currenly always the previous_mode.
Also fix a small typo and add a variable to help shorten a code line.
Signed-off-by: Jonas Karlman
---
v2: Update commit message, s/type/typo/
---
drivers
drm_helper_hpd_irq_event() and drm_bridge_hpd_notify() may incorrectly
be called with a connected status when HPD is high and RX sense is
changed. This typically happen when the HDMI cable is unplugged, shortly
before the HPD is changed to low.
Fix this by only notify connected status on the HPD i
Change to only call poweron/poweroff from atomic_enable/atomic_disable
ops instead of trying to be clever by keeping a bridge_is_on state and
poweron/off in the hotplug irq handler.
The bridge is already enabled/disabled depending on connection state
with the call to drm_helper_hpd_irq_event() in
Fold the poweron and setup functions into one function and use the
adjusted_mode directly from the new crtc_state to remove the need of
storing previous_mode.
Signed-off-by: Jonas Karlman
---
v2: No change
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 21 -
1 file changed,
make ts050_panel_data and ts050v2_panel_data static because they
are only used in drivers/gpu/drm/panel/panel-khadas-ts050.c,
and fix the following sparse warnings:
drivers/gpu/drm/panel/panel-khadas-ts050.c:620:32:
sparse: warning: symbol 'ts050_panel_data' was not declared. Should it be
static?
drm_edid_connector_update() is being called from bridge connector ops
and from detect and get_modes ops for dw-hdmi connector.
Change to use is_hdmi and has_audio from display_info directly instead
of keeping our own state in sink_is_hdmi and sink_has_audio.
Also remove the old and unused edid st
With CEC phys addr invalidation moved away from the irq handler there is
no longer a need for cec_notifier_mutex, remove it.
Reviewed-by: Neil Armstrong
Signed-off-by: Jonas Karlman
---
v2: Collect r-b tag
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 11 +--
1 file changed, 1 inserti
Update successfully read EDID during hotplug processing to ensure the
connector diplay_info is always up-to-date.
Signed-off-by: Jonas Karlman
---
v2: No change
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 12
1 file changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/bridge/
Wait until the connector detect ops is called to invalidate CEC phys
addr instead of doing it directly from the irq handler.
Reviewed-by: Neil Armstrong
Signed-off-by: Jonas Karlman
---
v2: Collect r-b tag
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 18 +++---
1 file changed, 11
With the use of adjusted_mode directly from the crtc_state there is no
longer a need to store a copy in previous_mode, remove it and the now
unneeded mode_set ops.
Signed-off-by: Jonas Karlman
---
v2: No change
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 19 +--
1 file change
The scrambler feature can be left enabled when hotplugging from a sink
and mode that require scrambling to a sink that does not support SCDC or
scrambling.
Typically a blank screen or 'no signal' message can be observed after
using a HDMI 2.0 4K@60Hz mode and then hotplugging to a sink that only
s
This series ensure poweron/poweroff and CEC phys addr invalidation is
happening under drm mode_config mutex lock, and also ensure EDID is
updated (when the dw-hdmi connector is used) after a hotplug pulse.
These changes has mainly been tested on Rockchip devices together with a
series [1] that add
>> DTC arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3-kb.dtb
>> DTC arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6a-wifi.dtbo
>> DTC arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-r3-lte.dtb
>> DTC arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6b-io.dtb
>> DTC arch/arm6
On Fri, Sep 06, 2024 at 11:02:32AM -0400, Alex Deucher wrote:
> On Fri, Sep 6, 2024 at 4:50 AM Mukul Sikka wrote:
> >
> > On Fri, Sep 6, 2024 at 12:05 AM Alex Deucher wrote:
> > >
> > > On Tue, Sep 3, 2024 at 5:53 AM sikkamukul
> > > wrote:
> > > >
> > > > From: Bob Zhou
> > > >
> > > > [ Upst
This device type is set but not used, so remove it.
Whilst we're at it, constify device type drm_connector.
Signed-off-by: Heiner Kallweit
---
drivers/gpu/drm/drm_sysfs.c | 7 +--
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_s
Annotate few more functions being called from drm_core_init() only
as __init.
Signed-off-by: Heiner Kallweit
---
drivers/gpu/drm/drm_cache.c | 2 +-
drivers/gpu/drm/drm_connector.c | 2 +-
drivers/gpu/drm/drm_sysfs.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git
In the etnaviv_pdev_probe() and etnaviv_gpu_platform_probe() function, the
value of '&pdev->dev' has been cached to the local auto variable 'dev'.
But some callers use 'dev', while the rest use '&pdev->dev'. To keep it
consistent, use 'dev' uniformly.
Tested-by: Christian Gmeiner
Signed-off-by: S
Currently, the calling of mutex_destroy() is ignored on error handling
code path. It is safe for now, since mutex_destroy() actually does
nothing in non-debug builds. But the mutex_destroy() is used to mark
the mutex uninitialized on debug builds, and any subsequent use of the
mutex is forbidden.
Currently, the etnaviv_gem_submit.c isn't call any runtime power management
functions. So drop this unused header, we can include it back when it
really get used though.
Reviewed-by: Christian Gmeiner
Signed-off-by: Sui Jingfeng
---
drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 1 -
1 file cha
Define class drm statically and constify it. This ensure that no user
of the exported struct class can tamper with it.
Signed-off-by: Heiner Kallweit
---
drivers/gpu/drm/drm_internal.h | 2 +-
drivers/gpu/drm/drm_privacy_screen.c | 2 +-
drivers/gpu/drm/drm_sysfs.c | 32
The unpin_user_pages() function takes an 'unsigned long' argument to
store the number of userspace pages, and the struct drm_gem_object::size
is a size_t type. The number of pages can not be negative, hence, use
'unsigned' variable to count the number of pages.
Reviewed-by: Christian Gmeiner
Sign
The drm_prime_pages_to_sg() function takes an 'unsigned int' argument to
store the length of the page vector. The size of the object in number of
CPU pages can not be negative, hence, use 'unsigned' variable to store
the number of pages, instead of the 'signed' one.
Reviewed-by: Christian Gmeiner
These changes make the error path a little more robust, because exit
steps in drm_core_exit() don't have to ensure any longer that they
work properly even if the associated init step wasn't executed.
In addition these changes allow to annotate a few functions as __exit,
saving some memory if drm is
These two functions have no user, so remove them.
Signed-off-by: Heiner Kallweit
---
drivers/gpu/drm/drm_sysfs.c | 32
include/drm/drm_sysfs.h | 3 ---
2 files changed, 35 deletions(-)
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c
i
This undocumented attribute returns a version string which hasn't been
changed for ages. libdrm doesn't use it and I also found no other user.
So I think we can remove it.
Signed-off-by: Heiner Kallweit
---
drivers/gpu/drm/drm_sysfs.c | 12
1 file changed, 12 deletions(-)
diff --gi
Series with DRM core improvements/refactorings.
Heiner Kallweit (6):
drm/sysfs: Remove version attribute
drm/sysfs: Drop unused drm_class_device_(un)register
drm: Refactor drm_core_init error path
drm: Change drm_class from pointer to const struct class
drm: Add __init annotations
drm/
On 9/8/24 09:35, Christopher Snowhill wrote:
On Mon Sep 2, 2024 at 2:40 AM PDT, tjakobi wrote:
From: Tobias Jakobi
Hello,
this fixes a nasty race condition in the set_drr() callbacks for DCN10
and DCN35 that has existed now since quite some time, see this GitLab
issue for reference.
https:/
The dedicated VRAM is seen as a kind of device memory (IOMEM) at present,
we should use ioremap() to make device memory CPU accessible, we should
also need to implement mmap() driver for userspace. Therefore, we add a
simple drm-mm based range allocator for the upper (GEM object function)
layer.
S
To test the correctess of the implemented vmap() and vunmap() operations,
to see if is works correctly on dedicated VRAM.
Usage:
cd /sys/kernel/debug/dri/etnaviv
cat sanity
My test is able to pass on x86-64 with a JM9230P card, see below log:
Test Write to VRAM 8294400 bytes
Write to VRAM Passe
Otherwise we don't know where a etnaviv GEM buffer object should put when
we create it at userspace.
Signed-off-by: Sui Jingfeng
---
drivers/gpu/drm/etnaviv/etnaviv_drv.c | 9 +
include/uapi/drm/etnaviv_drm.h| 12
2 files changed, 21 insertions(+)
diff --git a/driv
The etnaviv_gem_obj_add() a common operation, the 'etnaviv_drm_private::
gem_list' is being used to record(track) all of the etnaviv GEM buffer
object created in this driver.
Once a etnaviv GEM buffer object has been allocated successfully, we
should add it into the global etnaviv_drm_private::gem
Because some PCIe IP need special setup before its VRAM bar can be usable,
do this with instance specific object function.
Signed-off-by: Sui Jingfeng
---
drivers/gpu/drm/etnaviv/Makefile | 3 +-
drivers/gpu/drm/etnaviv/etnaviv_pci_drv.c | 19
drivers/gpu/drm/etnaviv/etnaviv_pci
Add the 'bool shmem' as the 4th argument of etnaviv_gem_new_private(),
then call etnaviv_gem_new_handle() to allocate the etnaviv_gem_object
instance for us.
A small benefit is to reduce code duplication across different etnaviv
GEM buffer objects. This allow us to reuse etnaviv_gem_new_private()
Previously, component framework is being used to bind multiple platform
(DT) devices to a virtual master. The virtual master is manually created
during probe time. This is fine and works well for embedded SoCs, yet
there have some hardware venders that integrate Vivante GPU IP cores
into their PCIe
Many modern CPUs and/or platforms choose to define their peripheral devices
as cached coherent by default, to be specific, the PCH is capable of
snooping CPU's cache. When hit, the peripheral devices will access data
directly from CPU's cache. This means that device drivers do not need to
maintain
Which is corresonding to the etnaviv_gem_obj_add()
Signed-off-by: Sui Jingfeng
---
drivers/gpu/drm/etnaviv/etnaviv_gem.c | 17 +
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
index 39c
Both the instance of struct drm_device and the instance of struct
etnaviv_drm_private are intended to be shared by all GPU cores, both have
only one instance created across drm/etnaviv driver. After embedded in,
the whole structure can be allocated with devm_drm_dev_alloc(). And the
DRM device crea
Because there are a lot of data members in the struct etnaviv_drm_private,
which are intended to be shared by all GPU cores. It can be lengthy and
daunting on error handling, the 'gem_lock' of struct etnaviv_drm_private
just be forgeten to destroy on driver leave.
Switch to use the dedicated helpe
In the etnaviv_gem_vmap_impl() function, the driver vmap whatever buffers
with write combine(WC) page property. This is incorrect, as some platforms
are cached coherent. Cached buffers should be mapped with cached page
property.
Fixes: a0a5ab3e99b8 ("drm/etnaviv: call correct function when trying
1 - 100 of 112 matches
Mail list logo