Displaying 20 results from an estimated 47 matches for "crtc_id".
2017 Jun 20
0
[PATCH 02/11] drm: amd: remove dead code and pointless local lut storage
...ers/gpu/drm/amd/amdgpu/amdgpu_mode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
index 43a9d3a..39f7eda 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
@@ -369,7 +369,6 @@ struct amdgpu_atom_ss {
struct amdgpu_crtc {
struct drm_crtc base;
int crtc_id;
- u16 lut_r[256], lut_g[256], lut_b[256];
bool enabled;
bool can_tile;
uint32_t crtc_offset;
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
index 3c62c45..8e8c028 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgp...
2017 Jun 22
0
[PATCH v2 04/14] drm: amd: remove dead code and pointless local lut storage
...ers/gpu/drm/amd/amdgpu/amdgpu_mode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
index 43a9d3a..39f7eda 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
@@ -369,7 +369,6 @@ struct amdgpu_atom_ss {
struct amdgpu_crtc {
struct drm_crtc base;
int crtc_id;
- u16 lut_r[256], lut_g[256], lut_b[256];
bool enabled;
bool can_tile;
uint32_t crtc_offset;
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
index 9f78c03..c958023 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgp...
2020 Jan 10
0
[PATCH 07/23] drm/vc4: Convert to struct drm_crtc_helper_funcs.get_scanout_position()
...m/vc4/vc4_crtc.c
index b00e20f5ce05..f1e7597ea17e 100644
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
@@ -84,13 +84,14 @@ static const struct debugfs_reg32 crtc_regs[] = {
VC4_REG32(PV_HACT_ACT),
};
-bool vc4_crtc_get_scanoutpos(struct drm_device *dev, unsigned int crtc_id,
- bool in_vblank_irq, int *vpos, int *hpos,
- ktime_t *stime, ktime_t *etime,
- const struct drm_display_mode *mode)
+static bool vc4_crtc_get_scanout_position(struct drm_crtc *crtc,
+ bool in_vblank_irq,
+ int *vpos, int *hpos,
+ ktime_t *stime, ktime_t *eti...
2020 Jan 15
0
[PATCH v2 17/21] drm/vc4: Convert to struct drm_crtc_helper_funcs.get_scanout_position()
...m/vc4/vc4_crtc.c
index b00e20f5ce05..f1e7597ea17e 100644
--- a/drivers/gpu/drm/vc4/vc4_crtc.c
+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
@@ -84,13 +84,14 @@ static const struct debugfs_reg32 crtc_regs[] = {
VC4_REG32(PV_HACT_ACT),
};
-bool vc4_crtc_get_scanoutpos(struct drm_device *dev, unsigned int crtc_id,
- bool in_vblank_irq, int *vpos, int *hpos,
- ktime_t *stime, ktime_t *etime,
- const struct drm_display_mode *mode)
+static bool vc4_crtc_get_scanout_position(struct drm_crtc *crtc,
+ bool in_vblank_irq,
+ int *vpos, int *hpos,
+ ktime_t *stime, ktime_t *eti...
2020 Jan 15
0
[PATCH v2 05/21] drm/amdgpu: Convert to CRTC VBLANK callbacks
...void amdgpu_display_flip_work_func(struct work_struct *__work)
& (DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_IN_VBLANK)) ==
(DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_IN_VBLANK) &&
(int)(work->target_vblank -
- amdgpu_get_vblank_counter_kms(adev->ddev, amdgpu_crtc->crtc_id)) > 0) {
+ amdgpu_get_vblank_counter_kms(crtc)) > 0) {
schedule_delayed_work(&work->flip_work, usecs_to_jiffies(1000));
return;
}
@@ -219,7 +219,7 @@ int amdgpu_display_crtc_page_flip_target(struct drm_crtc *crtc,
if (!adev->enable_virtual_display)
work->base = am...
2020 Jan 23
0
[PATCH v4 05/22] drm/amdgpu: Convert to CRTC VBLANK callbacks
...void amdgpu_display_flip_work_func(struct work_struct *__work)
& (DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_IN_VBLANK)) ==
(DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_IN_VBLANK) &&
(int)(work->target_vblank -
- amdgpu_get_vblank_counter_kms(adev->ddev, amdgpu_crtc->crtc_id)) > 0) {
+ amdgpu_get_vblank_counter_kms(crtc)) > 0) {
schedule_delayed_work(&work->flip_work, usecs_to_jiffies(1000));
return;
}
@@ -219,7 +219,7 @@ int amdgpu_display_crtc_page_flip_target(struct drm_crtc *crtc,
if (!adev->enable_virtual_display)
work->base = am...
2012 Jun 12
9
[Bug 51018] New: kernel >=3.4.0: nouveau triggers kernel BUG in slub.c on GTX 560 Ti
https://bugs.freedesktop.org/show_bug.cgi?id=51018
Bug #: 51018
Summary: kernel >=3.4.0: nouveau triggers kernel BUG in slub.c
on GTX 560 Ti
Classification: Unclassified
Product: xorg
Version: unspecified
Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
Severity: normal
2017 Jun 22
0
[PATCH v2 12/14] drm: radeon: remove dead code and pointless local lut storage
...-42,6 +42,7 @@ static void avivo_crtc_load_lut(struct drm_crtc *crtc)
struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
struct drm_device *dev = crtc->dev;
struct radeon_device *rdev = dev->dev_private;
+ u16 *r, *g, *b;
int i;
DRM_DEBUG_KMS("%d\n", radeon_crtc->crtc_id);
@@ -60,11 +61,14 @@ static void avivo_crtc_load_lut(struct drm_crtc *crtc)
WREG32(AVIVO_DC_LUT_WRITE_EN_MASK, 0x0000003f);
WREG8(AVIVO_DC_LUT_RW_INDEX, 0);
+ r = crtc->gamma_store;
+ g = r + crtc->gamma_size;
+ b = g + crtc->gamma_size;
for (i = 0; i < 256; i++) {
WREG32(AV...
2020 Jan 10
0
[PATCH 17/23] drm/radeon: Convert to CRTC VBLANK callbacks
...adeon_crtc = to_radeon_crtc(crtc);
@@ -458,7 +462,7 @@ static void radeon_flip_work_func(struct work_struct *__work)
(DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_IN_VBLANK) &&
(!ASIC_IS_AVIVO(rdev) ||
((int) (work->target_vblank -
- dev->driver->get_vblank_counter(dev, work->crtc_id)) > 0)))
+ crtc->funcs->get_vblank_counter(crtc)) > 0)))
usleep_range(1000, 2000);
/* We borrow the event spin lock for protecting flip_status */
@@ -574,7 +578,7 @@ static int radeon_crtc_page_flip_target(struct drm_crtc *crtc,
}
work->base = base;
work->target_vbla...
2018 Apr 20
1
[PATCH v2 4/4] qxl: drop dummy functions
...t drm_plane_helper_funcs qxl_cursor_helper_funcs = {
- .atomic_check = qxl_plane_atomic_check,
.atomic_update = qxl_cursor_atomic_update,
.atomic_disable = qxl_cursor_atomic_disable,
.prepare_fb = qxl_plane_prepare_fb,
@@ -956,28 +941,6 @@ static int qdev_crtc_init(struct drm_device *dev, int crtc_id)
return r;
}
-static void qxl_enc_dpms(struct drm_encoder *encoder, int mode)
-{
- DRM_DEBUG("\n");
-}
-
-static void qxl_enc_prepare(struct drm_encoder *encoder)
-{
- DRM_DEBUG("\n");
-}
-
-static void qxl_enc_commit(struct drm_encoder *encoder)
-{
- DRM_DEBUG("\n&quo...
2020 Jan 23
0
[PATCH v4 11/22] drm/radeon: Convert to CRTC VBLANK callbacks
...adeon_crtc = to_radeon_crtc(crtc);
@@ -458,7 +462,7 @@ static void radeon_flip_work_func(struct work_struct *__work)
(DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_IN_VBLANK) &&
(!ASIC_IS_AVIVO(rdev) ||
((int) (work->target_vblank -
- dev->driver->get_vblank_counter(dev, work->crtc_id)) > 0)))
+ crtc->funcs->get_vblank_counter(crtc)) > 0)))
usleep_range(1000, 2000);
/* We borrow the event spin lock for protecting flip_status */
@@ -574,7 +578,7 @@ static int radeon_crtc_page_flip_target(struct drm_crtc *crtc,
}
work->base = base;
work->target_vbla...
2017 Jun 20
15
[PATCH 00/11] improve the fb_setcmap helper
Hi!
While trying to get CLUT support for the atmel_hlcdc driver, and
specifically for the emulated fbdev interface, I received some
push-back that my feeble in-driver attempts should be solved
by the core. This is my attempt to do it right.
Boris and Daniel, was this approximately what you had in mind?
I have obviously not tested all of this with more than a compile,
but the first patch is
2018 Feb 16
0
[PATCH 4/4] qxl: drop dummy functions
...t drm_plane_helper_funcs qxl_cursor_helper_funcs = {
- .atomic_check = qxl_plane_atomic_check,
.atomic_update = qxl_cursor_atomic_update,
.atomic_disable = qxl_cursor_atomic_disable,
.prepare_fb = qxl_plane_prepare_fb,
@@ -956,28 +941,6 @@ static int qdev_crtc_init(struct drm_device *dev, int crtc_id)
return r;
}
-static void qxl_enc_dpms(struct drm_encoder *encoder, int mode)
-{
- DRM_DEBUG("\n");
-}
-
-static void qxl_enc_prepare(struct drm_encoder *encoder)
-{
- DRM_DEBUG("\n");
-}
-
-static void qxl_enc_commit(struct drm_encoder *encoder)
-{
- DRM_DEBUG("\n&quo...
2017 Jun 22
22
[PATCH v2 00/14] improve the fb_setcmap helper
Hi!
While trying to get CLUT support for the atmel_hlcdc driver, and
specifically for the emulated fbdev interface, I received some
push-back that my feeble in-driver attempts should be solved
by the core. This is my attempt to do it right.
I have obviously not tested all of this with more than a compile,
but patches 1 and 3 are enough to make the atmel-hlcdc driver
do what I need (when patched
2020 May 26
0
[ANNOUNCE] libdrm 2.4.102
...check before open()
modetest: set atomic cap, _only_ when needed
modetest: add and use bo_fb_create() helper
modetest: remove drmMode{,Plane}Res
modetest: close the device on exit
modetest: introduce and use get_crtc_by_id() and get_crtc_mask()
modetest: get the crtc_id from the pipe_arg
modetest: unify {,atomic_}set_mode()
modetest: move pipe_resolve_connectors() further up
modetest: push pipe_resolve_connectors() to set_mode
modetest: factor out atomic pageflip test
modetest: don't error out of final AtomicCommit
modetest:...
2020 Apr 15
1
[PATCH 27/59] drm/qxl: Don't use drm_device->dev_private
...t drm_plane_state *new_state)
{
- struct qxl_device *qdev = plane->dev->dev_private;
+ struct qxl_device *qdev = to_qxl(plane->dev);
struct drm_gem_object *obj;
struct qxl_bo *user_bo;
struct qxl_surface surf;
@@ -923,7 +923,7 @@ static int qdev_crtc_init(struct drm_device *dev, int crtc_id)
{
struct qxl_crtc *qxl_crtc;
struct drm_plane *primary, *cursor;
- struct qxl_device *qdev = dev->dev_private;
+ struct qxl_device *qdev = to_qxl(dev);
int r;
qxl_crtc = kzalloc(sizeof(struct qxl_crtc), GFP_KERNEL);
@@ -965,7 +965,7 @@ static int qdev_crtc_init(struct drm_device *dev...
2020 Mar 18
0
[PATCH i-g-t 4/4] tests: Add nouveau-crc tests
...rc);
+
+ set_crc_flip_threshold(data, n_crcs / 2);
+ igt_pipe_crc_start(pipe_crc);
+
+ for (i = 0; i < n_crcs; i++) {
+ const int color_idx = i % n_colors;
+
+ igt_plane_set_fb(primary, &colors[color_idx].fb);
+ do_or_die(drmModePageFlip(data->drm_fd,
+ output->config.crtc->crtc_id,
+ colors[color_idx].fb.fb_id,
+ DRM_MODE_PAGE_FLIP_EVENT,
+ NULL));
+ kmstest_wait_for_pageflip(data->drm_fd);
+ }
+
+ igt_pipe_crc_get_crcs(pipe_crc, n_crcs, &crcs);
+ igt_pipe_crc_stop(pipe_crc);
+
+ /*
+ * Find the first color in our pattern with a CRC that differs fr...
2020 Apr 17
0
[PATCH i-g-t v3 5/5] tests: Add nouveau-crc tests
...rc);
+
+ set_crc_flip_threshold(data, n_crcs / 2);
+ igt_pipe_crc_start(pipe_crc);
+
+ for (i = 0; i < n_crcs; i++) {
+ const int color_idx = i % n_colors;
+
+ igt_plane_set_fb(primary, &colors[color_idx].fb);
+ do_or_die(drmModePageFlip(data->drm_fd,
+ output->config.crtc->crtc_id,
+ colors[color_idx].fb.fb_id,
+ DRM_MODE_PAGE_FLIP_EVENT,
+ NULL));
+ kmstest_wait_for_pageflip(data->drm_fd);
+ }
+
+ igt_pipe_crc_get_crcs(pipe_crc, n_crcs, &crcs);
+ igt_pipe_crc_stop(pipe_crc);
+
+ /*
+ * Find the first color in our pattern with a CRC that differs fr...
2019 Oct 23
0
[PATCH 2/2] drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware
...tor_get_encoder(), returning connector->state->best_encoder
which is always 0, causing us to always report 0 as encoder_id in
the drmModeConnector struct returned by drmModeGetConnector().
2. drm_encoder_get_crtc(), returning NULL because uses_atomic get set,
causing us to always report 0 as crtc_id in the drmModeEncoder struct
returned by drmModeGetEncoder()
Which in turn confuses userspace, at least plymouth thinks that the pipe
has changed because of this and tries to reconfigure it unnecessarily.
More in general we should not set drm_connector->state in the non-atomic
code as this vio...
2020 Aug 18
2
[PATCH i-g-t v4] tests: Add nouveau-crc tests
...rc);
+
+ set_crc_flip_threshold(data, n_crcs / 2);
+ igt_pipe_crc_start(pipe_crc);
+
+ for (i = 0; i < n_crcs; i++) {
+ const int color_idx = i % n_colors;
+
+ igt_plane_set_fb(primary, &colors[color_idx].fb);
+ do_or_die(drmModePageFlip(data->drm_fd,
+ output->config.crtc->crtc_id,
+ colors[color_idx].fb.fb_id,
+ DRM_MODE_PAGE_FLIP_EVENT,
+ NULL));
+ kmstest_wait_for_pageflip(data->drm_fd);
+ }
+
+ igt_pipe_crc_get_crcs(pipe_crc, n_crcs, &crcs);
+ igt_pipe_crc_stop(pipe_crc);
+
+ /*
+ * Find the first color in our pattern with a CRC that differs fr...