Displaying 20 results from an estimated 72 matches for "nv_atomic".
Did you mean:
nonatomic
2023 Feb 17
0
[PATCH] drm/nouveau: NV_DEBUG and NV_ATOMIC should call __drm_debug_enabled
Commit 6ce6fae84536 ("drm_print: optimize drm_debug_enabled for
jump-label") changed drm_debug_enabled() to print a warning debug
message every time it's called:
todo: is this frequent enough to optimize ?
Because the Nouveau macros NV_DEBUG and NV_ATOMIC call
drm_debug_enabled(), this message can appear hundreds of times
when the driver is loaded with debug messages enabled.
To avoid this, these macros should call __drm_debug_enabled()
instead.
Signed-off-by: Timur Tabi <ttabi at nvidia.com>
---
drivers/gpu/drm/nouveau/nouveau_drv.h | 4 ++...
2017 Jul 12
2
[PATCH 15/16] drm/nouveau: Convert nouveau to use new iterator macros
...drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index 42a85c14aea0..b1ce8f1f58dc 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -2103,7 +2103,7 @@ nv50_head_atomic_check(struct drm_crtc *crtc, struct drm_crtc_state *state)
NV_ATOMIC(drm, "%s atomic_check %d\n", crtc->name, asyh->state.active);
if (asyh->state.active) {
- for_each_connector_in_state(asyh->state.state, conn, conns, i) {
+ for_each_new_connector_in_state(asyh->state.state, conn, conns, i) {
if (conns->crtc == crtc) {
asyc...
2017 Jul 19
1
[PATCH v2 6/7] drm/nouveau: Convert nouveau to use new iterator macros, v2.
...drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index 747c99c1e474..7abfb561b00c 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -2103,7 +2103,7 @@ nv50_head_atomic_check(struct drm_crtc *crtc, struct drm_crtc_state *state)
NV_ATOMIC(drm, "%s atomic_check %d\n", crtc->name, asyh->state.active);
if (asyh->state.active) {
- for_each_connector_in_state(asyh->state.state, conn, conns, i) {
+ for_each_new_connector_in_state(asyh->state.state, conn, conns, i) {
if (conns->crtc == crtc) {
asyc...
2020 Sep 22
1
[PATCH] drm/nouveau/kms: Remove set but not used 'ret'
...insertions(+)
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
index b111fe2..d05c57c 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
@@ -1379,6 +1379,9 @@ nv50_mstm_prepare(struct nv50_mstm *mstm)
NV_ATOMIC(drm, "%s: mstm prepare\n", mstm->outp->base.base.name);
ret = drm_dp_update_payload_part1(&mstm->mgr);
+ if (ret) {
+ NV_ATOMIC(drm, "failed to update payload %d\n", ret);
+ }
drm_for_each_encoder(encoder, mstm->outp->base.base.dev)...
2018 Nov 17
0
[PATCH 2/6] drm/nouveau: Use drm_dp_get_payload_info() for getting payload/vcpi
...{
bool disabled;
};
-static struct drm_dp_payload *
-nv50_msto_payload(struct nv50_msto *msto)
-{
- struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev);
- struct nv50_mstc *mstc = msto->mstc;
- struct nv50_mstm *mstm = mstc->mstm;
- int vcpi = mstc->port->vcpi.vcpi, i;
-
- NV_ATOMIC(drm, "%s: vcpi %d\n", msto->encoder.name, vcpi);
- for (i = 0; i < mstm->mgr.max_payloads; i++) {
- struct drm_dp_payload *payload = &mstm->mgr.payloads[i];
- NV_ATOMIC(drm, "%s: %d: vcpi %d start 0x%02x slots 0x%02x\n",
- mstm->outp->base.base.name,...
2017 Jul 13
0
[Intel-gfx] [PATCH 15/16] drm/nouveau: Convert nouveau to use new iterator macros
...rivers/gpu/drm/nouveau/nv50_display.c
> index 42a85c14aea0..b1ce8f1f58dc 100644
> --- a/drivers/gpu/drm/nouveau/nv50_display.c
> +++ b/drivers/gpu/drm/nouveau/nv50_display.c
> @@ -2103,7 +2103,7 @@ nv50_head_atomic_check(struct drm_crtc *crtc, struct drm_crtc_state *state)
>
> NV_ATOMIC(drm, "%s atomic_check %d\n", crtc->name, asyh->state.active);
> if (asyh->state.active) {
> - for_each_connector_in_state(asyh->state.state, conn, conns, i) {
> + for_each_new_connector_in_state(asyh->state.state, conn, conns, i) {
> if (conns->crtc =...
2020 Feb 06
5
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...b);
> + struct drm_framebuffer *fb = asyw->state.fb;
> struct nouveau_drm *drm = nouveau_drm(wndw->plane.dev);
> - struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
> + struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
> int ret;
>
> NV_ATOMIC(drm, "%s acquire\n", wndw->plane.name);
>
> - if (asyw->state.fb != armw->state.fb || !armw->visible || modeset) {
> - asyw->image.w = fb->base.width;
> - asyw->image.h = fb->base.height;
> + if (fb != armw->state.fb || !armw->visible || m...
2020 Feb 06
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...te.fb;
>>> ????? struct nouveau_drm *drm = nouveau_drm(wndw->plane.dev);
>>> -??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>>> +??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>>> ????? int ret;
>>> ? ????? NV_ATOMIC(drm, "%s acquire\n", wndw->plane.name);
>>> ? -??? if (asyw->state.fb != armw->state.fb || !armw->visible ||
>>> modeset) {
>>> -??????? asyw->image.w = fb->base.width;
>>> -??????? asyw->image.h = fb->base.height;
>>>...
2020 Feb 06
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...t;state.fb;
>>> ????? struct nouveau_drm *drm = nouveau_drm(wndw->plane.dev);
>>> -??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>>> +??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>>> ????? int ret;
>>> ????? NV_ATOMIC(drm, "%s acquire\n", wndw->plane.name);
>>> -??? if (asyw->state.fb != armw->state.fb || !armw->visible ||
>>> modeset) {
>>> -??????? asyw->image.w = fb->base.width;
>>> -??????? asyw->image.h = fb->base.height;
>>> +?...
2020 Feb 10
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...uveau_drm *drm = nouveau_drm(wndw->plane.dev);
> >>>> - struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
> >>>> + struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
> >>>> int ret;
> >>>> NV_ATOMIC(drm, "%s acquire\n", wndw->plane.name);
> >>>> - if (asyw->state.fb != armw->state.fb || !armw->visible ||
> >>>> modeset) {
> >>>> - asyw->image.w = fb->base.width;
> >>>> - asyw->image.h...
2020 Feb 10
2
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...ndw->plane.dev);
>>>>>>> - struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>>>>>>> + struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>>>>>>> int ret;
>>>>>>> NV_ATOMIC(drm, "%s acquire\n", wndw->plane.name);
>>>>>>> - if (asyw->state.fb != armw->state.fb || !armw->visible ||
>>>>>>> modeset) {
>>>>>>> - asyw->image.w = fb->base.width;
>>>>>>&...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...= nouveau_framebuffer(asyw->state.fb);
+ struct drm_framebuffer *fb = asyw->state.fb;
struct nouveau_drm *drm = nouveau_drm(wndw->plane.dev);
- struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
+ struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
int ret;
NV_ATOMIC(drm, "%s acquire\n", wndw->plane.name);
- if (asyw->state.fb != armw->state.fb || !armw->visible || modeset) {
- asyw->image.w = fb->base.width;
- asyw->image.h = fb->base.height;
+ if (fb != armw->state.fb || !armw->visible || modeset) {
+ asyw->imag...
2018 Dec 14
0
[WIP PATCH 10/15] drm/nouveau: Stop unsetting mstc->port, use malloc refs
...ns(-)
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
index 982054bbcc8b..157d208d37b5 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
@@ -709,8 +709,7 @@ nv50_msto_cleanup(struct nv50_msto *msto)
NV_ATOMIC(drm, "%s: msto cleanup\n", msto->encoder.name);
- if (mstc->port)
- drm_dp_mst_deallocate_vcpi(&mstm->mgr, mstc->port);
+ drm_dp_mst_deallocate_vcpi(&mstm->mgr, mstc->port);
msto->mstc = NULL;
msto->head = NULL;
@@ -735,7 +734,7 @@ nv50_msto_prepar...
2018 Dec 14
0
[WIP PATCH 11/15] drm/nouveau: Grab payload lock in nv50_msto_payload()
...ivers/gpu/drm/nouveau/dispnv50/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
@@ -680,6 +680,8 @@ nv50_msto_payload(struct nv50_msto *msto)
struct nv50_mstm *mstm = mstc->mstm;
int vcpi = mstc->port->vcpi.vcpi, i;
+ WARN_ON(!mutex_is_locked(&mstm->mgr.payload_lock));
+
NV_ATOMIC(drm, "%s: vcpi %d\n", msto->encoder.name, vcpi);
for (i = 0; i < mstm->mgr.max_payloads; i++) {
struct drm_dp_payload *payload = &mstm->mgr.payloads[i];
@@ -733,6 +735,8 @@ nv50_msto_prepare(struct nv50_msto *msto)
(0x0100 << msto->head->base.in...
2020 Sep 22
0
[PATCH] drm/nouveau/kms: Remove set but not used 'ret'
.../gpu/drm/nouveau/dispnv50/disp.c
> b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> index b111fe2..d05c57c 100644
> --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
> +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> @@ -1379,6 +1379,9 @@ nv50_mstm_prepare(struct nv50_mstm *mstm)
>
> NV_ATOMIC(drm, "%s: mstm prepare\n", mstm->outp->base.base.name);
> ret = drm_dp_update_payload_part1(&mstm->mgr);
> + if (ret) {
> + NV_ATOMIC(drm, "failed to update payload %d\n", ret);
> + }
Remove the braces around ret and this is:
Re...
2020 Sep 23
0
[PATCH v2] drm/nouveau/kms: Remove set but not used 'ret'
...insertions(+)
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
index b111fe2..abc4f46 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
@@ -1379,6 +1379,8 @@ nv50_mstm_prepare(struct nv50_mstm *mstm)
NV_ATOMIC(drm, "%s: mstm prepare\n", mstm->outp->base.base.name);
ret = drm_dp_update_payload_part1(&mstm->mgr);
+ if (ret)
+ NV_ATOMIC(drm, "failed to update payload %d\n", ret);
drm_for_each_encoder(encoder, mstm->outp->base.base.dev) {
if (encoder->encod...
2020 Sep 19
0
[PATCH -next] gpu: nouveau: Remove set but not used variable
...cb5618e4592 100644
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
@@ -1306,12 +1306,10 @@ nv50_mstm_cleanup(struct nv50_mstm *mstm)
{
struct nouveau_drm *drm = nouveau_drm(mstm->outp->base.base.dev);
struct drm_encoder *encoder;
- int ret;
NV_ATOMIC(drm, "%s: mstm cleanup\n", mstm->outp->base.base.name);
- ret = drm_dp_check_act_status(&mstm->mgr);
-
- ret = drm_dp_update_payload_part2(&mstm->mgr);
+ drm_dp_check_act_status(&mstm->mgr);
+ drm_dp_update_payload_part2(&mstm->mgr);
drm_for_each_enco...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...buffer *fb = asyw->state.fb;
>> ????? struct nouveau_drm *drm = nouveau_drm(wndw->plane.dev);
>> -??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>> +??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>> ????? int ret;
>> ????? NV_ATOMIC(drm, "%s acquire\n", wndw->plane.name);
>> -??? if (asyw->state.fb != armw->state.fb || !armw->visible || modeset) {
>> -??????? asyw->image.w = fb->base.width;
>> -??????? asyw->image.h = fb->base.height;
>> +??? if (fb != armw->state.fb...
2020 Feb 06
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...ffer *fb = asyw->state.fb;
>> ????? struct nouveau_drm *drm = nouveau_drm(wndw->plane.dev);
>> -??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>> +??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>> ????? int ret;
>> ? ????? NV_ATOMIC(drm, "%s acquire\n", wndw->plane.name);
>> ? -??? if (asyw->state.fb != armw->state.fb || !armw->visible ||
>> modeset) {
>> -??????? asyw->image.w = fb->base.width;
>> -??????? asyw->image.h = fb->base.height;
>> +??? if (fb != armw-&...
2020 Feb 07
0
[PATCH 4/4] drm/nouveau: Remove struct nouveau_framebuffer
...gt; ?????? struct nouveau_drm *drm = nouveau_drm(wndw->plane.dev);
>>>> -??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->base.obj[0]);
>>>> +??? struct nouveau_bo *nvbo = nouveau_gem_object(fb->obj[0]);
>>>> ?????? int ret;
>>>> ?? ????? NV_ATOMIC(drm, "%s acquire\n", wndw->plane.name);
>>>> ?? -??? if (asyw->state.fb != armw->state.fb || !armw->visible ||
>>>> modeset) {
>>>> -??????? asyw->image.w = fb->base.width;
>>>> -??????? asyw->image.h = fb->base.heigh...