vram_mm->vram_size, 0);
+ if (!ast->dp501_fw_buf)
+ drm_info(dev, "failed to map reserved buffer!\n");
+ }
+
ret = ast_mode_config_init(ast);
if (ret)
return ERR_PTR(ret);
--
2.18.4
--
Thomas Zimmermann
Graphics Driver
#syz fix: drm/fb-helper: only unmap if buffer not null
Am 11.04.21 um 14:01 schrieb syzbot:
#syz fix: drm/fb-helper: only unmap if buffer not null
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg
ards
Thomas
if so, i will fix it, thks.
Acked-by: Thomas Zimmermann mailto:tzimmerm...@suse.de>>
> +
> + ret = platform_register_drivers(sprd_drm_drivers,
> + ARRAY_SIZE(sprd_drm_drivers));
> + return ret;
gt;base + offset);
+
+ writel(bits & ~clr_bits, ctx->base + offset);
+}
+
+static inline u32
+layer_reg_rd(struct dpu_context *ctx, u32 offset, int index)
+{
+ u32 layer_offset = offset + index * DPU_LAY_REG_OFFSET;
+
+ return readl(ctx->base + layer_offset);
+}
+
+static inline void
+layer_reg_wr(struct dpu_context *ctx, u32 offset, u32 cfg_bits, int index)
+{
+ u32 layer_offset = offset + index * DPU_LAY_REG_OFFSET;
+
+ writel(cfg_bits, ctx->base + layer_offset);
+}
+
+void sprd_dpu_run(struct sprd_dpu *dpu);
+void sprd_dpu_stop(struct sprd_dpu *dpu);
+
+#endif
diff --git a/drivers/gpu/drm/sprd/sprd_drm.c b/drivers/gpu/drm/sprd/sprd_drm.c
index a1d3ed655..c626c6caf 100644
--- a/drivers/gpu/drm/sprd/sprd_drm.c
+++ b/drivers/gpu/drm/sprd/sprd_drm.c
@@ -191,6 +191,7 @@ static struct platform_driver sprd_drm_driver = {
static struct platform_driver *sprd_drm_drivers[] = {
&sprd_drm_driver,
+ &sprd_dpu_driver,
};
static int __init sprd_drm_init(void)
diff --git a/drivers/gpu/drm/sprd/sprd_drm.h b/drivers/gpu/drm/sprd/sprd_drm.h
index 9781fd591..85d4a8b9f 100644
--- a/drivers/gpu/drm/sprd/sprd_drm.h
+++ b/drivers/gpu/drm/sprd/sprd_drm.h
@@ -13,4 +13,6 @@ struct sprd_drm {
struct drm_device drm;
};
+extern struct platform_driver sprd_dpu_driver;
+
#endif /* _SPRD_DRM_H_ */
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_signature
Description: OpenPGP digital signature
drm-drv",
+ .of_match_table = drm_match_table,
+ },
+};
+
+static struct platform_driver *sprd_drm_drivers[] = {
+ &sprd_drm_driver,
+};
+
+static int __init sprd_drm_init(void)
+{
+ int ret;
I think ret should just go away.
Acked-by: Thomas Zim
Hi
Am 31.03.21 um 08:56 schrieb Kuo-Hsiang Chou:
Message-ID: <20201228030823.294147-1-kuohsiang_c...@aspeedtech.com>
-Original Message-
From: Thomas Zimmermann [mailto:tzimmerm...@suse.de]
Sent: Monday, March 29, 2021 5:17 PM
To: Kuo-Hsiang Chou ;
dri-de...@lists.freedeskt
- ast_moutdwm(ast, 0x1e6e2070, 0x0080);
- }
-
if (!ast_dram_init_2500(ast))
drm_err(dev, "DRAM init failed !\n");
--
2.18.4
___
dri-devel mailing list
dri-de...@lists.freedes
fering.
Best regards
Thomas
-Paul
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_signature
Description: OpenPGP digital signature
Hi
Am 10.03.21 um 20:02 schrieb Paul Cercueil:
Hi Thomas,
Le lun. 8 mars 2021 à 9:41, Thomas Zimmermann a
écrit :
Hi Paul,
having individual functions for each mode only makes sense if the
decision is at compile time. But in patch 5, you're working around
your earlier desi
enic-ipu.c | 14 +-
include/drm/drm_gem_cma_helper.h | 13 ++
5 files changed, 273 insertions(+), 30 deletions(-)
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführe
g support */
- drm_encoder_init(ddev, encoder, <dc_encoder_funcs,
-DRM_MODE_ENCODER_DPI, NULL);
+ drm_simple_encoder_init(ddev, encoder, DRM_MODE_ENCODER_DPI);
drm_encoder_helper_add(encoder, <dc_encoder_helper_funcs);
--
Thomas Zimmermann
Graphics Driver Develope
freedesktop.org/mailman/listinfo/dri-devel
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_signature
Description: OpenPGP digital signature
Am 02.03.21 um 18:57 schrieb Jagan Teki:
STM ltdc driver uses an empty implementation for its encoder.
Replace the code with the generic simple encoder.
Signed-off-by: Jagan Teki
Acked-by: Thomas Zimmermann
---
drivers/gpu/drm/stm/ltdc.c | 12 ++--
1 file changed, 2
es.
Best regards
Thomas
Best,
- Tong
On Mon, Mar 1, 2021 at 3:26 AM Thomas Zimmermann wrote:
Hi
Am 28.02.21 um 05:46 schrieb Tong Zhang:
drm_fbdev_cleanup() can be called when fb_helper->buffer is null, hence
fb_helper->buffer should be checked before calling
drm_client_buffer
elete(fb_helper->buffer);
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_signature
Description: OpenPGP digital signature
Pavel
___
dri-devel mailing list
dri-de...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix I
...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_signature
Description: OpenPGP digital
Best regards,
Pavel
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_sig
Hi Maxime,
for the whole series:
Acked-by: Thomas Zimmermann
Am 19.02.21 um 13:00 schrieb Maxime Ripard:
The current atomic helpers have either their object state being passed as
an argument or the full atomic state.
The former is the pattern that was done at first, before switching to the
truct pci_dev *pdev)
struct drm_device *dev = pci_get_drvdata(pdev);
drm_dev_unregister(dev);
+ drm_atomic_helper_shutdown(dev);
}
static int ast_drm_freeze(struct drm_device *dev)
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany
Reviewed-by: Ville Syrjälä
Signed-off-by: Maxime Ripard
Acked-by: Thomas Zimmermann
However, I find 'old plane state' somewhat confusing in this context,
because it's actually the current plane state. Would it make sense to
use drm_atomic_get_existing_plane_state() in
c_state *state) {
...
struct drm_plane_state *plane_state = drm_atomic_get_new_plane_state(state,
plane);
<...
- plane_state->state
+ state
...>
}
Reviewed-by: Laurent Pinchart
Signed-off-by: Maxime Ripard
Acked-by: Thomas Zimmermann
---
Changes from v1:
- Fixed the fo
Am 19.02.21 um 16:12 schrieb Maxime Ripard:
Hi Thomas,
Thanks for your review!
On Fri, Feb 19, 2021 at 03:49:22PM +0100, Thomas Zimmermann wrote:
diff --git a/drivers/gpu/drm/imx/ipuv3-plane.c
b/drivers/gpu/drm/imx/ipuv3-plane.c
index 075508051b5f..1873a155bb26 100644
--- a/drivers/gpu/drm
)
{ ... }
@ include depends on adds_new_state @
@@
#include
@ no_include depends on !include && adds_new_state @
@@
+ #include
#include
Reviewed-by: Laurent Pinchart
Signed-off-by: Maxime Ripard
Acked-by: Thomas Zimmermann
---
Changes from v1:
- Rewording and remov
ttps://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_signature
Description: OpenPGP digital signature
Am 19.02.21 um 13:00 schrieb Maxime Ripard:
Most drivers call the argument to the plane atomic_check hook simply
state, which is going to conflict with the global atomic state in a
later rework. Let's rename it to new_plane_state (or new_state depending
on the convention used in the driver).
T
Hi
Am 18.02.21 um 16:07 schrieb Christoph Hellwig:
On Thu, Feb 18, 2021 at 03:56:00PM +0100, Thomas Zimmermann wrote:
I only have udl devices, but I expect that other DRM USB adapters are also
affected.
Find where the driver calls dma_map_* itself instead of using the USB
wrappers and fix
oftirqs last disabled at (672931): []
asm_call_irq_on_stack+0x12/0x20
[ 60.458871] ---[ end trace f2f88696eb17806c ]---
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPG
Am 17.02.21 um 13:32 schrieb Gerd Hoffmann:
Use the correct vmap variant. We don't hold a reservation here,
so we can't use the _locked variant. We can drop the pin because
qxl_bo_vmap will do that for us.
Signed-off-by: Gerd Hoffmann
Acked-by: Thomas Zimmermann
I simply for
l isn't
that high.
Well, in that case:
Acked-by: Thomas Zimmermann
for patches 9 and 10. Having the vmap calls fixed is at least worth it.
Best regards
Thomas
So, no, I have no short-term plans for qxl beyond fixing pins +
reservations + lockdep.
take care,
Gerd
___
M_PLANE_TYPE_CURSOR &&
+ plane->state->fb != new_state->fb) {
+ struct qxl_crtc *qcrtc = to_qxl_crtc(new_state->crtc);
+ struct qxl_bo *old_cursor_bo = qcrtc->cursor_bo;
+
+ qcrtc->cursor_bo = qxl_create_cursor(qdev, user_bo,
+
Am 17.02.21 um 13:32 schrieb Gerd Hoffmann:
Append _locked to Make clear that these functions should be called with
reserved bo's only. While being at it also rename kmap -> vmap.
No functional change.
Signed-off-by: Gerd Hoffmann
Acked-by: Thomas Zimmermann
---
drivers/gpu
Am 17.02.21 um 13:32 schrieb Gerd Hoffmann:
Add vmap/vunmap variants which reserve (and pin) the bo.
They can be used in case the caller doesn't hold a reservation
for the bo.
Signed-off-by: Gerd Hoffmann
Acked-by: Thomas Zimmermann
---
drivers/gpu/drm/qxl/qxl_object.h
+ qxl_bo_unpin(free_bo);
+ qxl_bo_unref(&free_bo);
+ }
ret = qxl_release_list_add(*release, bo);
qxl_bo_unref(&bo);
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB
*much* less likely that
ttm_bo_mem_force_space() picks something which can't be evicted and
throws an error after waiting a while without success.
Signed-off-by: Gerd Hoffmann
Acked-by: Thomas Zimmermann
---
drivers/gpu/drm/qxl/qxl_object.h | 1 +
drivers/gpu/drm/qxl/qxl_cmd.c
fence_wait")
Signed-off-by: Gerd Hoffmann
Acked-by: Thomas Zimmermann
---
drivers/gpu/drm/qxl/qxl_release.c | 8 ++--
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/qxl/qxl_release.c
b/drivers/gpu/drm/qxl/qxl_release.c
index 6ed673d75f9f..579c6de10c
9 +
scripts/checkpatch.pl | 6 +-
32 files changed, 164 insertions(+), 223 deletions(-)
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörff
Hi
Am 17.02.21 um 11:02 schrieb Gerd Hoffmann:
On Tue, Feb 16, 2021 at 02:46:21PM +0100, Thomas Zimmermann wrote:
Am 16.02.21 um 14:27 schrieb Thomas Zimmermann:
Hi
this is a shadow-buffered plane. Did you consider using the new helpers
for shadow-buffered planes? They will map the user BO
Am 16.02.21 um 14:27 schrieb Thomas Zimmermann:
Hi
this is a shadow-buffered plane. Did you consider using the new helpers
for shadow-buffered planes? They will map the user BO for you and
provide the mapping in the plane state.
From there, you should implement your own plane state on
Hi
Am 16.02.21 um 12:37 schrieb Gerd Hoffmann:
Try avoid re-introducing locking bugs.
Signed-off-by: Gerd Hoffmann
Acked-by: Thomas Zimmermann
IMHO this should eventually be done in the rsp TTM functions. But so
far, I'd expect this to break some drivers.
Best regards
T
;
+ qxl_bo_kunmap(user_bo);
if (old_state->fb != plane->state->fb && user_bo->shadow) {
qxl_bo_unpin(user_bo->shadow);
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Ge
Am 16.02.21 um 12:37 schrieb Gerd Hoffmann:
Use the correct kmap variant. We don't hold a reservation here,
so we can't use the _locked variant. We can drop the pin because
qxl_bo_kmap will do that for us.
Signed-off-by: Gerd Hoffmann
Acked-by: Thomas Zimmermann
---
drive
_unpin(bo);
+ qxl_bo_unreserve(bo);
+ return 0;
+}
+
void qxl_bo_kunmap_atomic_page(struct qxl_device *qdev,
struct qxl_bo *bo, void *pmap)
{
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nü
71,7 +71,7 @@ void qxl_gem_prime_vunmap(struct drm_gem_object *obj,
{
struct qxl_bo *bo = gem_to_qxl_bo(obj);
- qxl_bo_kunmap_locked(bo);
+ qxl_bo_kunmap(bo);
}
int qxl_gem_prime_mmap(struct drm_gem_object *obj,
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solu
kmap(bo, map);
+ ret = qxl_bo_kmap_locked(bo, map);
if (ret < 0)
return ret;
@@ -71,7 +71,7 @@ void qxl_gem_prime_vunmap(struct drm_gem_object *obj,
{
struct qxl_bo *bo = gem_to_qxl_bo(obj);
- qxl_bo_kunmap(bo);
+ qxl_bo_kunmap_locked(b
Am 16.02.21 um 12:37 schrieb Gerd Hoffmann:
Specifically do not try release resources which where
not allocated in the first place.
I still think this should eventually be resolved by using managed code.
But for now
Acked-by: Thomas Zimmermann
Cc: Tong Zhang
Tested-by: Tong Zhang
/drm/drm_fourcc.h | 1 -
27 files changed, 64 insertions(+), 157 deletions(-)
This is a nice patchset. For the driver-related changes:
Acked-by: Thomas Zimmermann
But landing this patch will certainly give us build errors. There are at
least 3 git trees involved: drm-misc
re_divider: The PWM frequency pre-divider value being used
for this backlight, if any
+ * @max: The maximum backlight level that may be set
+ * @lsb_reg_used: Do we also write values to the
DP_EDP_BACKLIGHT_BRIGHTNESS_LSB register?
+ * @aux_enable: Does the panel support the AUX enable cap?
+ *
+ * This structure contains various data about an eDP backlight, which can
be populated by using
+ * drm_edp_backlight_init().
+ */
+struct drm_edp_backlight_info {
+ u8 pwmgen_bit_count;
+ u8 pwm_freq_pre_divider;
+ u16 max;
+
+ bool lsb_reg_used : 1;
+ bool aux_enable : 1;
+};
+
+int
+drm_edp_backlight_init(struct drm_dp_aux *aux, struct
drm_edp_backlight_info *bl,
+ u16 driver_pwm_freq_hz, const u8
edp_dpcd[EDP_DISPLAY_CTL_CAP_SIZE],
+ u16 *current_level, u8 *current_mode);
+int drm_edp_backlight_set_level(struct drm_dp_aux *aux, const struct
drm_edp_backlight_info *bl,
+ u16 level);
+int drm_edp_backlight_enable(struct drm_dp_aux *aux, const struct
drm_edp_backlight_info *bl,
+ u16 level);
+int drm_edp_backlight_disable(struct drm_dp_aux *aux, const struct
drm_edp_backlight_info *bl);
+
#ifdef CONFIG_DRM_DP_CEC
void drm_dp_cec_irq(struct drm_dp_aux *aux);
void drm_dp_cec_register_connector(struct drm_dp_aux *aux,
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_signature
Description: OpenPGP digital signature
Hi
Am 15.02.21 um 10:49 schrieb Thomas Zimmermann:
Hi
Am 15.02.21 um 09:58 schrieb Christian König:
Hi guys,
we are currently working an Freesync and direct scan out from system
memory on AMD APUs in A+A laptops.
On problem we stumbled over is that our display hardware needs to scan
out
esktop.org/mailman/listinfo/dri-devel
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_signature
Description: OpenPGP digital signature
transactional programming in userspace system
code. So FWIW
Acked-by: Thomas Zimmermann
Note that some distributions such as Ubuntu are already enabling
CHECKPOINT_RESTORE in their configs and so, by extension, SYS_kcmp.
References: https://gitlab.freedesktop.org/drm/intel/-/issues/3046
Signed-off-by
return desc->quirks & BIT(quirk);
}
+/**
+ * struct drm_edp_backlight_info - Probed eDP backlight info struct
+ * @pwmgen_bit_count: The pwmgen bit count
+ * @pwm_freq_pre_divider: The PWM frequency pre-divider value being used for
this backlight, if any
+ * @max: The ma
39288 9978
drivers/gpu/drm/mgag200/mgag200_mode.o
After:
text data bss dechex filename
34625 4616 0 39241 9949
drivers/gpu/drm/mgag200/mgag200_mode.o
(gcc version 10.2.0)
Signed-off-by: Colin Ian King
Reviewed-by: Thomas Zimmermann
---
V2: move s
ice_init() fails.
I see two solutions: either roll-back manually, or use our new managed
DRM interfaces. This is what the other drivers do.
Best regards
Thomas
qxl_modeset_fini(qdev);
qxl_device_fini(qdev);
Thanks,
- Tong
On Feb 4, 2021, at 1:34 PM, Thomas Zimmermann wrote:
have to be reordered correctly.
With the citation style address:
Acked-by: Thomas Zimmermann
qxl_modeset_fini(qdev);
qxl_device_fini(qdev);
}
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB
er doesn't figure this
out automatically. When I once tested this (in userspace) it did so.
Maybe the kernel is different?
For style reasons, I would have moved the static definition to the top
of the function; before the variable declarations. In any case:
Reviewed-by: Thomas Zimmerma
go into system ram by default,
and only move into device memory when they have to.
Signed-off-by: Gerd Hoffmann
Acked-by: Thomas Zimmermann
---
drivers/gpu/drm/qxl/qxl_dumb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/qxl/qxl_dumb.c b/drivers
Am 04.02.21 um 15:57 schrieb Gerd Hoffmann:
Suggested-by: Thomas Zimmermann
Signed-off-by: Gerd Hoffmann
Thanks for this.
Acked-by: Thomas Zimmermann
---
drivers/gpu/drm/qxl/qxl_display.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/qxl/qxl_display.c
b
Am 04.02.21 um 15:57 schrieb Gerd Hoffmann:
In case we have a shadow surface on shutdown release
it so it doesn't leak.
Signed-off-by: Gerd Hoffmann
Acked-by: Thomas Zimmermann
---
drivers/gpu/drm/qxl/qxl_display.c | 4
1 file changed, 4 insertions(+)
diff --git a/driver
Am 03.02.21 um 14:16 schrieb Gerd Hoffmann:
Now that we have the new release_event wait queue we can just
use that in qxl_fence_wait() and simplify the code alot.
Signed-off-by: Gerd Hoffmann
Acked-by: Thomas Zimmermann
---
drivers/gpu/drm/qxl/qxl_release.c | 42
mutex_lock(&qdev->release_mutex);
if (qdev->current_release_bo_offset[cur_idx] + 1 >=
releases_per_bo[cur_idx]) {
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_signature
Description: OpenPGP digital signature
Am 03.02.21 um 14:16 schrieb Gerd Hoffmann:
qxl_primary_atomic_disable must check whenever the framebuffer bo has a
shadow surface and in case it has check the shadow primary status.
I believe you :)
Acked-by: Thomas Zimmermann
Signed-off-by: Gerd Hoffmann
---
drivers/gpu/drm/qxl
re and during the
release in qxl_plane_prepare_fb()?
Best regards
Thomas
qxl_destroy_monitors_object(qdev);
}
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
Am 03.02.21 um 14:16 schrieb Gerd Hoffmann:
Balances the qxl_create_bo(..., pinned=true, ...);
call in qxl_release_bo_alloc().
Signed-off-by: Gerd Hoffmann
Acked-by: Thomas Zimmermann
---
drivers/gpu/drm/qxl/qxl_release.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers
devices */
if (!dev_is_pci(dev->dev))
return 0;
- pdev = to_pci_dev(dev->dev);
if (!NVInitVBIOS(dev))
return -ENODEV;
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(
valuable, and additional locking
issues are moot.
Except the first oops then scrolls aways because it's getting buried
under further fail. Your locking needs to be minimally good enough to
not make the situation worse.
When an oops happens, all bets are off...
Gr{oetje,eeting}s,
(qdev->dumb_shadow_bo) {
Wrt to my comment on patch 2, this might be the place to unpin the BO.
+ drm_gem_object_put(&qdev->dumb_shadow_bo->tbo.base);
+ qdev->dumb_shadow_bo = NULL;
+ }
qxl_destroy_monitors_object(qdev);
}
--
Thomas Zimme
qxl_bo_unref(&bo);
list_del(&entry->tv.head);
kfree(entry);
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPG
Am 20.01.21 um 12:12 schrieb Gerd Hoffmann:
Signed-off-by: Gerd Hoffmann
Reviewed-by: Daniel Vetter
Acked-by: Thomas Zimmermann
---
drivers/gpu/drm/qxl/qxl_display.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/qxl/qxl_display.c
b/drivers
;
} while (data != 1);
ast_moutdwm(ast, 0x1e6e207c, 0x0800); /* clear fast reset */
}
--
2.18.4
___
dri-devel mailing list
dri-de...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Thomas
Hi
Am 18.01.21 um 14:23 schrieb Christian König:
Am 18.01.21 um 14:22 schrieb Eli Cohen:
On Mon, Jan 18, 2021 at 02:20:49PM +0100, Thomas Zimmermann wrote:
Hi
Am 18.01.21 um 14:16 schrieb Eli Cohen:
On Mon, Jan 18, 2021 at 10:30:56AM +0100, Thomas Zimmermann wrote:
Here's the patch ag
Hi
Am 18.01.21 um 14:16 schrieb Eli Cohen:
On Mon, Jan 18, 2021 at 10:30:56AM +0100, Thomas Zimmermann wrote:
Here's the patch against the latest DRM tree. v5.11-rc3 should work as well.
I was able to reproduce the memory leak locally and found that the patch
fixes it. Please give it
Hi
Am 18.01.21 um 10:13 schrieb Eli Cohen:
On Mon, Jan 18, 2021 at 08:54:07AM +0100, Thomas Zimmermann wrote:
Hi
Am 18.01.21 um 08:43 schrieb Christian König:
Hi Eli,
have you already tried using kmemleak?
This sounds like a leak of memory allocated using kmalloc(), so kmemleak
should be
);
- }
-
if (!ast_dram_init_2500(ast))
drm_err(dev, "DRAM init failed !\n");
--
2.18.4
___
dri-devel mailing list
dri-de...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
an 15, 2021 at 10:03:50AM +0100, Thomas Zimmermann wrote:
Could you please double-check that 3fb91f56aea4 ("drm/udl: Retrieve USB
device from struct drm_device.dev") works correctly
Checked again, it does not seem to leak.
and that 823efa922102
("drm/cma-helper: Remove empty drm_
g already without further involvement by
+* the driver.
*/
void (*output_poll_changed)(struct drm_device *dev);
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürn
Hi
Am 15.01.21 um 13:56 schrieb Maxime Ripard:
diff --git a/drivers/gpu/drm/imx/ipuv3-plane.c
b/drivers/gpu/drm/imx/ipuv3-plane.c
index 8a4235d9d9f1..2cb09e9d9306 100644
--- a/drivers/gpu/drm/imx/ipuv3-plane.c
+++ b/drivers/gpu/drm/imx/ipuv3-plane.c
@@ -344,12 +344,12 @@ static const struct drm
gt;pos0_offset ||
old_vc4_state->pos2_offset != new_vc4_state->pos2_offset ||
old_vc4_state->ptr0_offset != new_vc4_state->ptr0_offset ||
- vc4_lbm_size(plane->state) != vc4_lbm_size(state))
+ vc4_lbm_size(plane->state) != vc4_lbm_size(new_plane_sta
(cc'ing dri-devel)
Hi
Am 14.01.21 um 16:15 schrieb Eli Cohen:
Hi Thomas,
After long bisecting I found that this patch,
commit 1086db71a1dbbfb32ffb42cf0d540b69956f951e
Author: Thomas Zimmermann
Date: Tue Nov 3 10:30:06 2020 +0100
drm/vram-helper: Remove invariant parameters
210107 again for today.
Sorry for the breakage. Fixed in drm-misc-next.
Best regards
Thomas
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_sig
Hi
Am 11.01.21 um 04:30 schrieb Tian Tao:
Use drm_crtc_mask() where appropriate.
Signed-off-by: Tian Tao
Looks like the right thing to do.
Acked-by: Thomas Zimmermann
Best regards
Thomas
---
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 3 ++-
1 file changed, 2 insertions(+), 1
if (!ast_dram_init_2500(ast))
drm_err(dev, "DRAM init failed !\n");
--
2.18.4
___
dri-devel mailing list
dri-de...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Tho
Hi
Am 28.12.20 um 08:35 schrieb Tian Tao:
The hibmc driver uses empty implementations for its encoders. Replace
the code with the generic simple encoder.
Signed-off-by: Tian Tao
Reviewed-by: Thomas Zimmermann
Thanks for the patch.
---
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
oad(dev);
}
static const struct pci_device_id hibmc_pci_table[] = {
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
OpenPGP_signature
Description: OpenPGP digital signature
bling MSI failed: %d\n", ret);
} else {
- ret = devm_drm_irq_install(dev, dev->pdev->irq);
+ ret = drm_irq_install(dev, dev->pdev->irq);
if (ret)
drm_warn(dev, "install irq failed: %d\n", ret);
Am 07.12.20 um 02:04 schrieb Tian Tao:
switch to using devm_add_action_or_reset() instead of devm_add_action.
Signed-off-by: Tian Tao
I'm surprised that devm_drm_dev_init() didn't already use
devm_add_action_or_reset(). But it doesn't look special, so
Acked-by: Th
Hi
Am 07.12.20 um 10:29 schrieb tiantao (H):
在 2020/12/7 17:22, Thomas Zimmermann 写道:
Hi
Am 07.12.20 um 10:05 schrieb Tian Tao:
Using drmm_mode_config_init() sets up managed release of modesetting
resources.
Individual patches usually contain a changelog to highlight the
difference to
series already does this correctly.
Signed-off-by: Tian Tao
Reviewed-by: Thomas Zimmermann
Thanks for all these updates.
---
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 14 +++---
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h | 1 -
2 files changed, 3 insertions(+), 12
262,7 +256,6 @@ static int hibmc_unload(struct drm_device *dev)
drm_atomic_helper_shutdown(dev);
pci_disable_msi(dev->pdev);
- hibmc_kms_fini(priv);
dev->dev_private = NULL;
return 0;
}
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions G
Am 07.12.20 um 01:49 schrieb Tian Tao:
delete unused variable ‘priv’ to avoid warning.
Signed-off-by: Tian Tao
Reviewed-by: Thomas Zimmermann
---
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 5 +
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/gpu/drm
Tao
Code changes look good.
Reviewed-by: Thomas Zimmermann
---
drivers/gpu/drm/hisilicon/hibmc/Makefile| 2 +-
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 21 ++-
drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h | 4 --
drivers/gpu/drm/hisilicon/hibmc/hibmc_ttm.c |
Hi
Am 03.12.20 um 09:36 schrieb Oliver Sang:
On Thu, Dec 03, 2020 at 08:41:49AM +0100, Thomas Zimmermann wrote:
Hi
there should be a line in the kernel log that says something like "Damage
blitter failed" with an error code. Is there any chance of recovering it?
Hi Thomas,
w
gcc-9 ARCH=i386 INSTALL_MOD_PATH=
modules_install
cd
find lib/ | cpio -o -H newc --quiet | gzip > modules.cgz
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k -m modules.cgz job-script # job-script is
attached in this email
Hi
Am 03.12.20 um 04:09 schrieb Tian Tao:
updated to use drmm_vram_helper_init()
Signed-off-by: Tian Tao
Reviewed-by: Thomas Zimmermann
As a good follow-up patch, I would suggest to get rig of the entire file
hibmc_ttm.c. drmm_vram_helper_init() can be called directly from
hibmc_load
Am 02.12.20 um 10:26 schrieb Tian Tao:
Add new api devm_drm_irq_install() to register interrupts,
no need to call drm_irq_uninstall() when the drm module is removed.
Signed-off-by: Tian Tao
Reviewed-by: Thomas Zimmermann
---
drivers/gpu/drm/drm_irq.c | 32
Am 02.12.20 um 09:47 schrieb Tian Tao:
Use the devm_drm_dev_alloc provided by the drm framework to alloc
a structure hibmc_drm_private.
Signed-off-by: Tian Tao
This looks good now. Thanks for sticking to it.
Acked-by: Thomas Zimmermann
---
drivers/gpu/drm/hisilicon/hibmc
q.h
@@ -28,5 +28,5 @@ struct drm_device;
int drm_irq_install(struct drm_device *dev, int irq);
int drm_irq_uninstall(struct drm_device *dev);
-
+int devm_drm_irq_install(struct drm_device *dev, int irq);
#endif
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany G
Hi
Am 02.12.20 um 03:54 schrieb tiantao (H):
在 2020/12/2 10:06, tiantao (H) 写道:
在 2020/12/1 21:44, Thomas Zimmermann 写道:
Hi
Am 01.12.20 um 14:05 schrieb tiantao (H):
在 2020/12/1 20:36, Thomas Zimmermann 写道:
Hi
Am 01.12.20 um 13:26 schrieb tiantao (H):
在 2020/12/1 20:17, Thomas
Hi
Am 01.12.20 um 14:05 schrieb tiantao (H):
在 2020/12/1 20:36, Thomas Zimmermann 写道:
Hi
Am 01.12.20 um 13:26 schrieb tiantao (H):
在 2020/12/1 20:17, Thomas Zimmermann 写道:
Hi
Am 01.12.20 um 12:55 schrieb Tian Tao:
Assign local variable to struct drm_device *dev because they are
used
Hi
Am 01.12.20 um 13:26 schrieb tiantao (H):
在 2020/12/1 20:17, Thomas Zimmermann 写道:
Hi
Am 01.12.20 um 12:55 schrieb Tian Tao:
Assign local variable to struct drm_device *dev because they are
used multiple times within a function.
Signed-off-by: Tian Tao
---
drivers/gpu/drm/hisilicon
1 - 100 of 213 matches
Mail list logo