On Sat, Feb 27, 2021 at 1:44 AM Christoph Hellwig <hch(a)infradead.org> wrote:
>
> On Fri, Feb 26, 2021 at 08:36:55AM +0100, Daniel Vetter wrote:
> > Also given that both deal with struct page there's a ton of divergence
> > between these two that doesn't make much sense. Maybe could even share
> > the code fully, aside from how you allocate the struct pages.
>
> I've been saying that since the code was first submitted. Once pages
> are allocated from CMA …
[View More]they should be treated not different from normal
> pages.
>
> Please take a look at how the DMA contigous allocator manages to share
> all code for handling CMA vs alloc_pages pages.
I'll take a look at that! Thanks for the pointer!
-john
[View Less]
Hi Noralf,
Peter Stuge wrote:
> I'll prepare a test setup for the RGB-TFT on the weekend.
So implementing a GUD and looking at the protocol from yet another
angle gives more new insights - surprise. :)
Here are some thoughts so far:
* GUD_REQ_SET_VERSION does still rub me wrong; it seems potentially
quite complex to maintain compatibility in two places; both for host
and device. I don't want to insist on removing it, but at a minimum
it's quite unusual.
Part of the idea in USB is …
[View More]that host software updates are easy if
not fully automated but device firmware updates less so, thus
complexity is rather placed in the host.
* It's unclear to me from reading the header files in this v6 patch set
which GUD_REQ:s and which properties are actually mandatory in devices.
I'm getting hints from your STM32 device and reading the driver code in
detail, but what do you think is a good way to document what's required
vs. optional?
* GUD_REQ_SET_BUFFER my old nemesis. :) It's great that it's optional!
But do you see any way to turn it into a bulk message, in order to
remove the memory barrier effect of a control transfer before bulk?
I think it would be possible to noticeably improve performance later,
by changing the host driver to submit asynchronous bulk transfers for
frame data rather than waiting for each transfer to finish; bulk
transfers will then pack optimally on the wire - but with a control
transfer in between there's no chance of achieving that.
Having only one kind of transfer in the hot path would also simplify
canceling still pending transfers (when using async later) if new data
gets flushed before the previous frame is completely transfered.
* A fair bit of the EDID isn't used or has dummy values. Have you already
considered and dismissed some other ways of accomplishing the same?
* Sorry if I've asked before - but what's the purpose of
GUD_REQ_SET_STATE_CHECK and GUD_REQ_SET_STATE_COMMIT? Why/when does
drm do pipe check vs. update?
* How do you feel about passing the parameters for
GUD_REQ_SET_CONTROLLER_ENABLE and GUD_REQ_SET_DISPLAY_ENABLE in wValue?
It would save the transfer data stage.
Kind regards
//Peter
[View Less]
https://bugzilla.kernel.org/show_bug.cgi?id=209713
Bug ID: 209713
Summary: amdgpu
drivers/gpu/drm/amd/amdgpu/../display/dc/dcn10/dcn10_l
ink_encoder.c:483 dcn10_get_dig_frontend+0x9e/0xc0
[amdgpu] when resuming from S3 state
Product: Drivers
Version: 2.5
Kernel Version: 5.8.13-arch1-1
Hardware: x86-64
OS: Linux
Tree: Mainline
Status: …
[View More]NEW
Severity: low
Priority: P1
Component: Video(DRI - non Intel)
Assignee: drivers_video-dri(a)kernel-bugs.osdl.org
Reporter: samy(a)lahfa.xyz
Regression: No
Created attachment 293025
--> https://bugzilla.kernel.org/attachment.cgi?id=293025&action=edit
parts of dmesg where the call trace happens during the resume from S3 sleep
state.
I'm thinking that this bug is a regression since I haven't seen this call trace
before on kernel older than 5.8.12-arch1-1 but I have yet to confirm this.
The call trace may also happen only in a very specific way, my current computer
has a USB-C Dock that is plugged in and the call trace happened when the USB-C
was plugged in and the computer was suspended, then resumed.
It is a Lenovo Thinkpad T495 model 20NKS28F00 with an AMD Ryzen 7 3700U and a
Vega Radeon RX 10.
Further comments will confirm if the call trace happens only when the USB-C
Dock is plugged.
As well as if this call trace happens on kernels older than 5.8.12-arch1-1.
The computer does resume successfully and there is a like a minor screen glitch
for a millisecond so it's not a very severe bug.
--
You are receiving this mail because:
You are watching the assignee of the bug.
[View Less]
On stable rc 5.11 the x86_64 build failed due to below errors/warnings.
drivers/gpu/drm/rcar-du/rcar_du_kms.c: In function 'rcar_du_modeset_cleanup':
drivers/gpu/drm/rcar-du/rcar_du_kms.c:754:32: error: implicit
declaration of function 'to_rcar_du_device'; did you mean
'to_rtc_device'? [-Werror=implicit-function-declaration]
struct rcar_du_device *rcdu = to_rcar_du_device(dev);
^~~~~~~~~~~~~~~~~
to_rtc_device
drivers/gpu/drm/…
[View More]rcar-du/rcar_du_kms.c:754:32: warning: initialization
makes pointer from integer without a cast [-Wint-conversion]
In file included from drivers/gpu/drm/rcar-du/rcar_du_kms.c:17:0:
drivers/gpu/drm/rcar-du/rcar_du_kms.c: In function 'rcar_du_modeset_init':
drivers/gpu/drm/rcar-du/rcar_du_kms.c:781:24: error: passing argument
1 of '__drmm_add_action' from incompatible pointer type
[-Werror=incompatible-pointer-types]
ret = drmm_add_action(&rcdu->ddev, rcar_du_modeset_cleanup, NULL);
^
include/drm/drm_managed.h:25:20: note: in definition of macro 'drmm_add_action'
__drmm_add_action(dev, action, data, #action)
^~~
include/drm/drm_managed.h:27:18: note: expected 'struct drm_device *'
but argument is of type 'struct drm_device **'
int __must_check __drmm_add_action(struct drm_device *dev,
^~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
Reported-by: Naresh Kamboju <naresh.kamboju(a)linaro.org>
Build link,
https://ci.linaro.org/job/openembedded-lkft-linux-stable-rc-5.11/DISTRO=lkf…
--
Linaro LKFT
https://lkft.linaro.org
[View Less]
https://bugzilla.kernel.org/show_bug.cgi?id=208115
Bug ID: 208115
Summary: amdgpu (likely) - power management and display
connection problems with an RX590 card
Product: Drivers
Version: 2.5
Kernel Version: 5.x.x
Hardware: x86-64
OS: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: Video(DRI - non Intel)
…
[View More]Assignee: drivers_video-dri(a)kernel-bugs.osdl.org
Reporter: h_mailinglists(a)posteo.de
Regression: No
Created attachment 289583
--> https://bugzilla.kernel.org/attachment.cgi?id=289583&action=edit
excerpt from dmesg grepping amdgpu
Bug report - power management and display connection problems with an RX590
card
Hello developer team
Please bear with me, it is my first bug report on the actual kernel.
It _might_ partially be related to
https://bugzilla.kernel.org/show_bug.cgi?id=201139
background / generic info:
I have an AMD RX 590, which is giving me some severe troubles.
I have a multitude of ATI/AMD cards/APUs in use for years, mostly Gentoo Linux,
a few Deb. derivatives and W32.
RX 590 (PCIe)
RX 560 (PCIe)
HD 5770 (PCIe)
HD 5670 (PCIe)
HD 5450 and the likes (PCI, PCIe)
HD 3870 (PCIe)
Kabini (Athlon 5350) (AM1)
Kabini E-2100 (soldered/BGA)
E-350 (soldered/BGA)
Geode LX ;-) (soldered/BGA / companion chip)
and more
the very chip/card in question:
Sapphire Nitro+ Radeon RX 590 8G 50th Anniversary, 8192 MB GDDR5
(the golden one)
the following setup it is currently dysfunctional:
RX 590
Zen+ 2700
MSI PC-Mate B-350 (latest FW)
16 GiB RAM
PSU BeQuiet DarkPowerPro 550 (should be strong enough, and problems are on the
low power state side)
Monitor: Eizo EV2436W hooked up via DP
The setup works _nicely_ with a different GPU (e.g. HD 5450, okay, that's not
amdgpu driver, but anyway).
My other actual amdgpu card, the RX 560 (Polaris 11) works like a charm in an
FX 6300 setup.
The very (Eizo) screen also works flawless on my Kabini (though there I have to
use a HDMI-2-DVI adapter connection); also an old Geode LX runs fairly well via
VGA.
software
(Gentoo) Linux (5.x.x kernel; tried various versions over time, dind't really
get much better), libdrm 2.4.9x / 2.4.10x, mesa 19.3.2 or later,
xf86-video-amdgpu 19.1.0
I built a box based on a Ryzen Zen+ 2700, MSI PC-Mate B-350 mainboard.
While I was setting it up I ran my elderly HD 5670 in it and everything was
fine.
All other cards in that ZEN+ system I tried so far worked like a charm. Severe
video transcoding (CPU based), just "desktopping around", severe compiling
(<-Gentoo): No problem! Power management? No problem!
With the RX 590 it's a sheer pain.
problems:
* GPU not coming back once monitor goes into powersaving
* link lost on every second power save (screen blanking / suspend / off / BACO)
relation to #201139 ?
* reading EDID problems message I found once in dmesg could be a hint (but it
seems all others (cards or different boxes) can obtain the EDID)
* Sometimes it seems I can still send commands via keyboard / work blindly and
thus I might try to start a xrandr script to switch on/off ("reset") the
digital outputs?
* occasionally switching to VT (and back) helps, sometimes not, and the
hardware is frozen; even REISUB (!) won't work.
* once I also got it back - but - in max. 800 x 600 resolution
* sometimes I can re-gain a signal by
replugging the cable
switching monitor on/off
* freezes (which seem power management related)
e.g. running a standard compile job
host system had little to do, compilation was running inside a chroot env.
(amd64 on amd64)
next morning: LEDs on mainboard/GPU still glowing, fans spinning, system
entirely frozen, not even REISUB would help
nothing in the logs
from /var/log/emerge.log it must have stopped somewhere in the middle of a
harmless compile (iirc. it was sys-fs/fuse or something), and I don't use
strange CFLAGs which might throw illegeal opcodes or something
* power consumption is too high during idle
* strange power readings in "sensors" at least 33 W (should be 10 W on idling
and 3 W in BACO / zero core)
* hint: also the W32 / W64 blob showed quite high consumption during desktop
idle (AMD blob / GPU-Z)
* wall measured might be slightly better but whole system (Zen+, GPU, 2 SSDs
and one HDD, hardly any USB periphery no other cards in slots one BD/DVD/CDROM)
never drops below 55 W, it's rather higher
Is there something I might have missed?
Should I try to obtain more verbose logs? Is there any "x-trace" tool that I
could run? Radeontop information outputs?
I'll attach one of the few logs I could obtain which might contains some hints
towards what is happening.
on my to-do list:
* try a different monitor (though that very EIZO monitor worked like a charm
with everything else I threw at it)
* try HDMI instead of DP, but I think I don't have HDMI monitors at hand
* try the RX590 in a different box (e.g. my FX 6300 unit, which currently runs
flawless with an RX 560) - and see if it still misbehaves...
Sorry for the wall of text.
keywords: link lost, power management problems, powerplay, device reset
reinitialization, system freeze, x86-64 amd64, amdgpu, AMD RX 590 RX590 Polaris
--
You are receiving this mail because:
You are watching the assignee of the bug.
[View Less]
This patch series has the following two WLED fixes
1. As per the current implementation, for WLED5, after
the FSC (Full Scale Current) update the driver is incorrectly
toggling the MOD_SYNC register instead of toggling the SYNC register.
The patch 1/2 fixes this by toggling the SYNC register after
FSC update.
2. Currently, the sync bits are transitioned from set-then-clear
after FSC and brightness update. As per hardware team recommendation
the FSC and brightness sync …
[View More]takes place from clear-then-set transition
of the sync bits. The patch 2/2 fies this issue.
Changes from V2:
1. Added Daniel's "Reviewed-by" tag for patch 1/2.
2. Updated the patch 2/2 description with "set" and "clear"
terminology instead of "1" and "0".
3. Updated the cover letter with "set" and "clear" terminology
instead of "1" and "0".
Changes from V1:
1. Updated the cover letter.
2. Updated the description of the patches as per Daniel's suggestion.
Kiran Gunda (2):
backlight: qcom-wled: Fix FSC update issue for WLED5
backlight: qcom-wled: Correct the sync_toggle sequence
drivers/video/backlight/qcom-wled.c | 37 +++++++++++++++++++++++++------------
1 file changed, 25 insertions(+), 12 deletions(-)
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
[View Less]
This series improves the drm_bridge support for CEC by introducing two
new bridge ops in the first patch, and using those in the second patch.
This makes it possible to call cec_s_conn_info() and set
CEC_CAP_CONNECTOR_INFO for the CEC adapter, so userspace can associate
the CEC adapter with the corresponding DRM connector.
The third patch simplifies CEC physical address handling by using the
cec_s_phys_addr_from_edid helper function that didn't exist when this
code was originally written.
…
[View More]The fourth patch adds CEC support to the OMAP5 driver and the last
patch adds the missing cec clock to the dra7 and omap5 device tree.
Tested with a Pandaboard and a Beagle X15 board.
Regards,
Hans
Hans Verkuil (5):
drm: drm_bridge: add cec_init/exit bridge ops
drm/omap: hdmi4: switch to the cec bridge ops
drm/omap: hdmi4: simplify CEC Phys Addr handling
drm/omap: hdmi5: add CEC support
ARM: dts: dra7/omap5: add cec clock
arch/arm/boot/dts/dra7.dtsi | 5 +-
arch/arm/boot/dts/omap5.dtsi | 5 +-
drivers/gpu/drm/drm_bridge_connector.c | 23 +++
drivers/gpu/drm/omapdrm/dss/Kconfig | 8 +
drivers/gpu/drm/omapdrm/dss/Makefile | 1 +
drivers/gpu/drm/omapdrm/dss/hdmi.h | 1 +
drivers/gpu/drm/omapdrm/dss/hdmi4.c | 41 ++---
drivers/gpu/drm/omapdrm/dss/hdmi4_cec.c | 12 +-
drivers/gpu/drm/omapdrm/dss/hdmi4_cec.h | 12 +-
drivers/gpu/drm/omapdrm/dss/hdmi5.c | 63 +++++--
drivers/gpu/drm/omapdrm/dss/hdmi5_cec.c | 201 +++++++++++++++++++++++
drivers/gpu/drm/omapdrm/dss/hdmi5_cec.h | 42 +++++
drivers/gpu/drm/omapdrm/dss/hdmi5_core.c | 28 +++-
drivers/gpu/drm/omapdrm/dss/hdmi5_core.h | 33 +++-
include/drm/drm_bridge.h | 31 ++++
15 files changed, 453 insertions(+), 53 deletions(-)
create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi5_cec.c
create mode 100644 drivers/gpu/drm/omapdrm/dss/hdmi5_cec.h
--
2.30.0
[View Less]
Unfortunately my previous email seems to not have been received by many
people. I will send this email separately to each mailing list to
hopefully get better coverage.
The nomination period is currently ongoing. So far we have received 3
nominations and will need at least 4 to fill the vacant spots on the
board. We hope you will consider putting your nomination forward.
To nominate yourself or someone else please send the nomination, along
with a personal statement to elections at x dot …
[View More]org.
** Election Schedule **
Nomination period Start: Mon 22nd February
Nomination period End: Sun 7th March
Deadline of X.Org membership application or renewal: Thu 11th March
Publication of Candidates & start of Candidate QA: Mon 15th March
Election Planned Start: Mon 22nd March anywhere on earth
Election Planned End: Sun 4th April anywhere on earth
** Election Committee **
* Eric Anholt
* Mark Filion
* Keith Packard
* Harry Wentland
Cheers,
Harry Wentland,
on behalf of the X.Org elections committee
[View Less]
From: Karol Herbst <kherbst(a)redhat.com>
commit d1f5a3fc85566e9ddce9361ef180f070367e6eab upstream.
In some cases we have the handle those explicitly as the fallback
connector type detection fails and marks those as eDP connectors.
Attempting to use such a connector with mutter leads to a crash of mutter
as it ends up with two eDP displays.
Information is taken from the official DCB documentation.
Cc: stable(a)vger.kernel.org
Cc: dri-devel(a)lists.freedesktop.org
Cc: Ben Skeggs <…
[View More]bskeggs(a)redhat.com>
Reported-by: Mark Pearson <markpearson(a)lenovo.com>
Tested-by: Mark Pearson <markpearson(a)lenovo.com>
Signed-off-by: Karol Herbst <kherbst(a)redhat.com>
Signed-off-by: Ben Skeggs <bskeggs(a)redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h | 1 +
drivers/gpu/drm/nouveau/nouveau_connector.c | 1 +
2 files changed, 2 insertions(+)
--- a/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/conn.h
@@ -14,6 +14,7 @@ enum dcb_connector_type {
DCB_CONNECTOR_LVDS_SPWG = 0x41,
DCB_CONNECTOR_DP = 0x46,
DCB_CONNECTOR_eDP = 0x47,
+ DCB_CONNECTOR_mDP = 0x48,
DCB_CONNECTOR_HDMI_0 = 0x60,
DCB_CONNECTOR_HDMI_1 = 0x61,
DCB_CONNECTOR_HDMI_C = 0x63,
--- a/drivers/gpu/drm/nouveau/nouveau_connector.c
+++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
@@ -1240,6 +1240,7 @@ drm_conntype_from_dcb(enum dcb_connector
case DCB_CONNECTOR_DMS59_DP0:
case DCB_CONNECTOR_DMS59_DP1:
case DCB_CONNECTOR_DP :
+ case DCB_CONNECTOR_mDP :
case DCB_CONNECTOR_USB_C : return DRM_MODE_CONNECTOR_DisplayPort;
case DCB_CONNECTOR_eDP : return DRM_MODE_CONNECTOR_eDP;
case DCB_CONNECTOR_HDMI_0 :
[View Less]