Re: [PATCH] drm/nouveau/nvkm: mark expected switch fall-throughs

2019-02-16 Thread Gustavo A. R. Silva
Hello,

Friendly ping (second one):

Who can take this, please?

Thanks
--
Gustavo

On 1/10/19 1:33 PM, Gustavo A. R. Silva wrote:
> Hi,
> 
> Friendly ping:
> 
> Who can take this?
> 
> Thanks
> -- 
> Gustavo
> 
> On 10/17/18 9:28 AM, Gustavo A. R. Silva wrote:
>> In preparation to enabling -Wimplicit-fallthrough, mark switch cases
>> where we are expecting to fall through.
>>
>> This patch aims to suppress 29 missing-break-in-switch false positives.
>>
>> Addresses-Coverity-ID: 1456891 ("Missing break in switch")
>> Addresses-Coverity-ID: 1324063 ("Missing break in switch")
>> Addresses-Coverity-ID: 1324063 ("Missing break in switch")
>> Addresses-Coverity-ID: 141432 ("Missing break in switch")
>> Addresses-Coverity-ID: 141433 ("Missing break in switch")
>> Addresses-Coverity-ID: 141434 ("Missing break in switch")
>> Addresses-Coverity-ID: 141435 ("Missing break in switch")
>> Addresses-Coverity-ID: 141436 ("Missing break in switch")
>> Signed-off-by: Gustavo A. R. Silva 
>> ---
>>   drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.c    | 17 +
>>   drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.c |  1 +
>>   drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c    |  2 ++
>>   drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv40.c    |  1 +
>>   drivers/gpu/drm/nouveau/nvkm/subdev/bios/perf.c    |  1 +
>>   drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c |  1 +
>>   drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c |  1 +
>>   drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.c    |  1 +
>>   drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv40.c   |  2 ++
>>   drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c |  1 +
>>   10 files changed, 28 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.c 
>> b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.c
>> index d131cca..10f2aa9 100644
>> --- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.c
>> +++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.c
>> @@ -23,38 +23,55 @@ void pack_hdmi_infoframe(struct packed_hdmi_infoframe 
>> *packed_frame,
>>    */
>>   case 17:
>>   subpack1_high = (raw_frame[16] << 16);
>> +    /* fall through */
>>   case 16:
>>   subpack1_high |= (raw_frame[15] << 8);
>> +    /* fall through */
>>   case 15:
>>   subpack1_high |= raw_frame[14];
>> +    /* fall through */
>>   case 14:
>>   subpack1_low = (raw_frame[13] << 24);
>> +    /* fall through */
>>   case 13:
>>   subpack1_low |= (raw_frame[12] << 16);
>> +    /* fall through */
>>   case 12:
>>   subpack1_low |= (raw_frame[11] << 8);
>> +    /* fall through */
>>   case 11:
>>   subpack1_low |= raw_frame[10];
>> +    /* fall through */
>>   case 10:
>>   subpack0_high = (raw_frame[9] << 16);
>> +    /* fall through */
>>   case 9:
>>   subpack0_high |= (raw_frame[8] << 8);
>> +    /* fall through */
>>   case 8:
>>   subpack0_high |= raw_frame[7];
>> +    /* fall through */
>>   case 7:
>>   subpack0_low = (raw_frame[6] << 24);
>> +    /* fall through */
>>   case 6:
>>   subpack0_low |= (raw_frame[5] << 16);
>> +    /* fall through */
>>   case 5:
>>   subpack0_low |= (raw_frame[4] << 8);
>> +    /* fall through */
>>   case 4:
>>   subpack0_low |= raw_frame[3];
>> +    /* fall through */
>>   case 3:
>>   header = (raw_frame[2] << 16);
>> +    /* fall through */
>>   case 2:
>>   header |= (raw_frame[1] << 8);
>> +    /* fall through */
>>   case 1:
>>   header |= raw_frame[0];
>> +    /* fall through */
>>   case 0:
>>   break;
>>   }
>> diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.c 
>> b/drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.c
>> index 49ef7e5..7f1adab 100644
>> --- a/drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.c
>> +++ b/drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.c
>> @@ -122,6 +122,7 @@ nv04_dmaobj_new(struct nvkm_dma *dma, const struct 
>> nvkm_oclass *oclass,
>>   break;
>>   case NV_MEM_ACCESS_WO:
>>   dmaobj->flags0 |= 0x8000;
>> +    /* fall through */
>>   case NV_MEM_ACCESS_RW:
>>   dmaobj->flags2 |= 0x0002;
>>   break;
>> diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c 
>> b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
>> index ad707ff..93493b3 100644
>> --- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
>> +++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
>> @@ -117,8 +117,10 @@ nv04_fifo_swmthd(struct nvkm_device *device, u32 chid, 
>> u32 addr, u32 data)
>>   switch (mthd) {
>>   case 0x ... 0x: /* subchannel's engine -> software */
>>   nvkm_wr32(device, 0x003280, (engine &= ~mask));
>> +    /* fall through */
>>   case 0x0180 ... 0x01fc: /* handle -> instance */
>>   data = nvkm_rd32(device, 

Re: [PATCH] drm/nouveau/nvkm: mark expected switch fall-throughs

2019-01-11 Thread Gustavo A. R. Silva

Hi,

Friendly ping:

Who can take this?

Thanks
--
Gustavo

On 10/17/18 9:28 AM, Gustavo A. R. Silva wrote:

In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

This patch aims to suppress 29 missing-break-in-switch false positives.

Addresses-Coverity-ID: 1456891 ("Missing break in switch")
Addresses-Coverity-ID: 1324063 ("Missing break in switch")
Addresses-Coverity-ID: 1324063 ("Missing break in switch")
Addresses-Coverity-ID: 141432 ("Missing break in switch")
Addresses-Coverity-ID: 141433 ("Missing break in switch")
Addresses-Coverity-ID: 141434 ("Missing break in switch")
Addresses-Coverity-ID: 141435 ("Missing break in switch")
Addresses-Coverity-ID: 141436 ("Missing break in switch")
Signed-off-by: Gustavo A. R. Silva 
---
  drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.c| 17 +
  drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.c |  1 +
  drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c|  2 ++
  drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv40.c|  1 +
  drivers/gpu/drm/nouveau/nvkm/subdev/bios/perf.c|  1 +
  drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c |  1 +
  drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c |  1 +
  drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.c|  1 +
  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv40.c   |  2 ++
  drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c |  1 +
  10 files changed, 28 insertions(+)

diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.c 
b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.c
index d131cca..10f2aa9 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/hdmi.c
@@ -23,38 +23,55 @@ void pack_hdmi_infoframe(struct packed_hdmi_infoframe 
*packed_frame,
 */
case 17:
subpack1_high = (raw_frame[16] << 16);
+   /* fall through */
case 16:
subpack1_high |= (raw_frame[15] << 8);
+   /* fall through */
case 15:
subpack1_high |= raw_frame[14];
+   /* fall through */
case 14:
subpack1_low = (raw_frame[13] << 24);
+   /* fall through */
case 13:
subpack1_low |= (raw_frame[12] << 16);
+   /* fall through */
case 12:
subpack1_low |= (raw_frame[11] << 8);
+   /* fall through */
case 11:
subpack1_low |= raw_frame[10];
+   /* fall through */
case 10:
subpack0_high = (raw_frame[9] << 16);
+   /* fall through */
case 9:
subpack0_high |= (raw_frame[8] << 8);
+   /* fall through */
case 8:
subpack0_high |= raw_frame[7];
+   /* fall through */
case 7:
subpack0_low = (raw_frame[6] << 24);
+   /* fall through */
case 6:
subpack0_low |= (raw_frame[5] << 16);
+   /* fall through */
case 5:
subpack0_low |= (raw_frame[4] << 8);
+   /* fall through */
case 4:
subpack0_low |= raw_frame[3];
+   /* fall through */
case 3:
header = (raw_frame[2] << 16);
+   /* fall through */
case 2:
header |= (raw_frame[1] << 8);
+   /* fall through */
case 1:
header |= raw_frame[0];
+   /* fall through */
case 0:
break;
}
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.c 
b/drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.c
index 49ef7e5..7f1adab 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/dma/usernv04.c
@@ -122,6 +122,7 @@ nv04_dmaobj_new(struct nvkm_dma *dma, const struct 
nvkm_oclass *oclass,
break;
case NV_MEM_ACCESS_WO:
dmaobj->flags0 |= 0x8000;
+   /* fall through */
case NV_MEM_ACCESS_RW:
dmaobj->flags2 |= 0x0002;
break;
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c 
b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
index ad707ff..93493b3 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/nv04.c
@@ -117,8 +117,10 @@ nv04_fifo_swmthd(struct nvkm_device *device, u32 chid, u32 
addr, u32 data)
switch (mthd) {
case 0x ... 0x: /* subchannel's engine -> software */
nvkm_wr32(device, 0x003280, (engine &= ~mask));
+   /* fall through */
case 0x0180 ... 0x01fc: /* handle -> instance */
data = nvkm_rd32(device, 0x003258) & 0x;
+   /* fall through */
case 0x0100 ... 0x017c:
case 0x0200 ... 0x1ffc: /* pass method down to sw */