Re: [PATCH 05/35] ARM: davinci: drop irq defines from default_priorites

From: Sekhar Nori
Date: Wed Feb 06 2019 - 08:04:50 EST


On 05/02/19 3:51 AM, David Lechner wrote:
> On 1/31/19 7:38 AM, Bartosz Golaszewski wrote:
>> From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
>>
>> In order to select SPARSE_IRQ we need to make the interrupt numbers
>> dynamic (at least at build-time for the top-level controller). The
>> interrupt numbers are used as array indexes for irq priorities.
>>
>> Drop the defines and just initialize the arrays in a linear manner.
>>
>> Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
>> ---
>
> ...
>
>> -static u8 dm355_default_priorities[DAVINCI_N_AINTC_IRQ] = {
>> -ÂÂÂ [IRQ_DM355_CCDC_VDINT0]ÂÂÂÂÂÂÂ = 2,
>> -ÂÂÂ [IRQ_DM355_CCDC_VDINT1]ÂÂÂÂÂÂÂ = 6,
>> -ÂÂÂ [IRQ_DM355_CCDC_VDINT2]ÂÂÂÂÂÂÂ = 6,
>> -ÂÂÂ [IRQ_DM355_IPIPE_HST]ÂÂÂÂÂÂÂ = 6,
>> -ÂÂÂ [IRQ_DM355_H3AINT]ÂÂÂÂÂÂÂ = 6,
>> -ÂÂÂ [IRQ_DM355_IPIPE_SDR]ÂÂÂÂÂÂÂ = 6,
>> -ÂÂÂ [IRQ_DM355_IPIPEIFINT]ÂÂÂÂÂÂÂ = 6,
>> -ÂÂÂ [IRQ_DM355_OSDINT]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_VENCINT]ÂÂÂÂÂÂÂ = 6,
>> -ÂÂÂ [IRQ_ASQINT]ÂÂÂÂÂÂÂÂÂÂÂ = 6,
>> -ÂÂÂ [IRQ_IMXINT]ÂÂÂÂÂÂÂÂÂÂÂ = 6,
>> -ÂÂÂ [IRQ_USBINT]ÂÂÂÂÂÂÂÂÂÂÂ = 4,
>> -ÂÂÂ [IRQ_DM355_RTOINT]ÂÂÂÂÂÂÂ = 4,
>> -ÂÂÂ [IRQ_DM355_UARTINT2]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_TINT6]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_CCINT0]ÂÂÂÂÂÂÂÂÂÂÂ = 5,ÂÂÂ /* dma */
>> -ÂÂÂ [IRQ_CCERRINT]ÂÂÂÂÂÂÂÂÂÂÂ = 5,ÂÂÂ /* dma */
>> -ÂÂÂ [IRQ_TCERRINT0]ÂÂÂÂÂÂÂÂÂÂÂ = 5,ÂÂÂ /* dma */
>> -ÂÂÂ [IRQ_TCERRINT]ÂÂÂÂÂÂÂÂÂÂÂ = 5,ÂÂÂ /* dma */
>> -ÂÂÂ [IRQ_DM355_SPINT2_1]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_TINT7]ÂÂÂÂÂÂÂ = 4,
>> -ÂÂÂ [IRQ_DM355_SDIOINT0]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_MBXINT]ÂÂÂÂÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_MBRINT]ÂÂÂÂÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_MMCINT]ÂÂÂÂÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_MMCINT1]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_PWMINT3]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DDRINT]ÂÂÂÂÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_AEMIFINT]ÂÂÂÂÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_SDIOINT1]ÂÂÂÂÂÂÂ = 4,
>> -ÂÂÂ [IRQ_TINT0_TINT12]ÂÂÂÂÂÂÂ = 2,ÂÂÂ /* clockevent */
>> -ÂÂÂ [IRQ_TINT0_TINT34]ÂÂÂÂÂÂÂ = 2,ÂÂÂ /* clocksource */
>> -ÂÂÂ [IRQ_TINT1_TINT12]ÂÂÂÂÂÂÂ = 7,ÂÂÂ /* DSP timer */
>> -ÂÂÂ [IRQ_TINT1_TINT34]ÂÂÂÂÂÂÂ = 7,ÂÂÂ /* system tick */
>> -ÂÂÂ [IRQ_PWMINT0]ÂÂÂÂÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_PWMINT1]ÂÂÂÂÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_PWMINT2]ÂÂÂÂÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_I2C]ÂÂÂÂÂÂÂÂÂÂÂ = 3,
>> -ÂÂÂ [IRQ_UARTINT0]ÂÂÂÂÂÂÂÂÂÂÂ = 3,
>> -ÂÂÂ [IRQ_UARTINT1]ÂÂÂÂÂÂÂÂÂÂÂ = 3,
>> -ÂÂÂ [IRQ_DM355_SPINT0_0]ÂÂÂÂÂÂÂ = 3,
>> -ÂÂÂ [IRQ_DM355_SPINT0_1]ÂÂÂÂÂÂÂ = 3,
>> -ÂÂÂ [IRQ_DM355_GPIO0]ÂÂÂÂÂÂÂ = 3,
>> -ÂÂÂ [IRQ_DM355_GPIO1]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIO2]ÂÂÂÂÂÂÂ = 4,
>> -ÂÂÂ [IRQ_DM355_GPIO3]ÂÂÂÂÂÂÂ = 4,
>> -ÂÂÂ [IRQ_DM355_GPIO4]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIO5]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIO6]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIO7]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIO8]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIO9]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIOBNK0]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIOBNK1]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIOBNK2]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIOBNK3]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIOBNK4]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIOBNK5]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_DM355_GPIOBNK6]ÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_COMMTX]ÂÂÂÂÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_COMMRX]ÂÂÂÂÂÂÂÂÂÂÂ = 7,
>> -ÂÂÂ [IRQ_EMUINT]ÂÂÂÂÂÂÂÂÂÂÂ = 7,
>> +static u8 dm355_aintc_prios[] = {
>> +ÂÂÂ 2, 6, 6, 6, 6, 6, 6, 7,
>> +ÂÂÂ 6, 6, 6, 4, 4, 7, 7, 5,
>> +ÂÂÂ 5, 5, 5, 7, 4, 7, 7, 7,
>> +ÂÂÂ 7, 7, 7, 7, 7, 4, 2, 2,
>> +ÂÂÂ 7, 7, 7, 7, 7, 3, 3, 3,
>> +ÂÂÂ 3, 3, 3, 7, 4, 4, 7, 7,
>> +ÂÂÂ 7, 7, 7, 7, 7, 7, 7, 7,
>> +ÂÂÂ 7, 7, 7, 7, 7, 7, 0, 0,
>> Â };
>
> Hmm... this makes it harder to see what is going on here.
> You can no longer see which priority corresponds to which
> IRQ without consulting a manual.

I agree with David here. The interrupt numbers are dynamic, but the
interrupt number offset from hardware point-of-view is fixed. So can
these macros be re-purposed to represent the hardware offset (eventually
you would pass them to DAVINCI_INTC_IRQ())?

Thanks,
Sekhar