Displaying 20 results from an estimated 72 matches for "nv_atom".
Did you mean:
  nv_atomic
  
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) {
 				asy...
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) {
 				asy...
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.de...
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 ||...
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...
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->im...
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_prep...
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....
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:...
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->enc...
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_en...
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....
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.hei...