reg_num
settings->reg_num = integrated_info->dp0_ext_hdmi_6g_reg_num;
settings->reg_num = integrated_info->dp1_ext_hdmi_6g_reg_num;
settings->reg_num = integrated_info->dp2_ext_hdmi_6g_reg_num;
settings->reg_num = integrated_info->dp3_ext_hdmi_6g_reg_num;
if (settings->reg_num > 9)
for (i = 0; i < settings->reg_num; i++) {
for (i = 0; i < settings->reg_num; i++) {
#define get_reg_field_value_soc15(reg_value, block, reg_num, reg_name, reg_field)\
block ## reg_num ## _ ## reg_name ## __ ## reg_field ## _MASK,\
block ## reg_num ## _ ## reg_name ## __ ## reg_field ## __SHIFT)
#define set_reg_field_value_soc15(reg_value, value, block, reg_num, reg_name, reg_field)\
block ## reg_num ## _ ## reg_name ## __ ## reg_field ## _MASK,\
block ## reg_num ## _ ## reg_name ## __ ## reg_field ## __SHIFT)
[DC_IRQ_SOURCE_HPD1RX + reg_num] = {\
.enable_reg = mmHPD ## reg_num ## _DC_HPD_INT_CONTROL,\
.ack_reg = mmHPD ## reg_num ## _DC_HPD_INT_CONTROL,\
.status_reg = mmHPD ## reg_num ## _DC_HPD_INT_STATUS,\
#define pflip_int_entry(reg_num)\
[DC_IRQ_SOURCE_PFLIP1 + reg_num] = {\
.enable_reg = mmDCP ## reg_num ## _GRPH_INTERRUPT_CONTROL,\
.ack_reg = mmDCP ## reg_num ## _GRPH_INTERRUPT_STATUS,\
.status_reg = mmDCP ## reg_num ##_GRPH_INTERRUPT_STATUS,\
#define vupdate_int_entry(reg_num)\
[DC_IRQ_SOURCE_VUPDATE1 + reg_num] = {\
.enable_reg = mmCRTC ## reg_num ## _CRTC_INTERRUPT_CONTROL,\
.ack_reg = mmCRTC ## reg_num ## _CRTC_V_UPDATE_INT_STATUS,\
#define vblank_int_entry(reg_num)\
[DC_IRQ_SOURCE_VBLANK1 + reg_num] = {\
.enable_reg = mmCRTC ## reg_num ## _CRTC_VERTICAL_INTERRUPT0_CONTROL,\
.ack_reg = mmCRTC ## reg_num ## _CRTC_VERTICAL_INTERRUPT0_CONTROL,\
.src_id = VISLANDS30_IV_SRCID_D1_VERTICAL_INTERRUPT0 + reg_num\
#define i2c_int_entry(reg_num) \
[DC_IRQ_SOURCE_I2C_DDC ## reg_num] = dummy_irq_entry()
#define dp_sink_int_entry(reg_num) \
[DC_IRQ_SOURCE_DPSINK ## reg_num] = dummy_irq_entry()
#define gpio_pad_int_entry(reg_num) \
[DC_IRQ_SOURCE_GPIOPAD ## reg_num] = dummy_irq_entry()
#define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
#define hpd_int_entry(reg_num)\
[DC_IRQ_SOURCE_HPD1 + reg_num] = {\
.enable_reg = mmHPD ## reg_num ## _DC_HPD_INT_CONTROL,\
.ack_reg = mmHPD ## reg_num ## _DC_HPD_INT_CONTROL,\
.status_reg = mmHPD ## reg_num ## _DC_HPD_INT_STATUS,\
#define hpd_rx_int_entry(reg_num)\
block ## reg_num ## _ ## reg1 ## __ ## mask1 ## _MASK,\
block ## reg_num ## _ ## reg1 ## __ ## mask1 ## _MASK,\
~block ## reg_num ## _ ## reg1 ## __ ## mask1 ## _MASK \
.ack_reg = SRI(reg2, block, reg_num),\
block ## reg_num ## _ ## reg2 ## __ ## mask2 ## _MASK,\
block ## reg_num ## _ ## reg2 ## __ ## mask2 ## _MASK \
#define hpd_int_entry(reg_num)\
[DC_IRQ_SOURCE_HPD1 + reg_num] = {\
IRQ_REG_ENTRY(HPD, reg_num,\
.status_reg = SRI(DC_HPD_INT_STATUS, HPD, reg_num),\
#define hpd_rx_int_entry(reg_num)\
[DC_IRQ_SOURCE_HPD1RX + reg_num] = {\
IRQ_REG_ENTRY(HPD, reg_num,\
.status_reg = SRI(DC_HPD_INT_STATUS, HPD, reg_num),\
#define pflip_int_entry(reg_num)\
[DC_IRQ_SOURCE_PFLIP1 + reg_num] = {\
IRQ_REG_ENTRY(DCP, reg_num, \
.status_reg = SRI(GRPH_INTERRUPT_STATUS, DCP, reg_num),\
#define vupdate_int_entry(reg_num)\
[DC_IRQ_SOURCE_VUPDATE1 + reg_num] = {\
IRQ_REG_ENTRY(CRTC, reg_num,\
#define vblank_int_entry(reg_num)\
[DC_IRQ_SOURCE_VBLANK1 + reg_num] = {\
IRQ_REG_ENTRY(CRTC, reg_num,\
.src_id = VISLANDS30_IV_SRCID_D1_VERTICAL_INTERRUPT0 + reg_num\
#define i2c_int_entry(reg_num) \
[DC_IRQ_SOURCE_I2C_DDC ## reg_num] = dummy_irq_entry()
#define dp_sink_int_entry(reg_num) \
[DC_IRQ_SOURCE_DPSINK ## reg_num] = dummy_irq_entry()
#define gpio_pad_int_entry(reg_num) \
[DC_IRQ_SOURCE_GPIOPAD ## reg_num] = dummy_irq_entry()
#define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
#define IRQ_REG_ENTRY(block, reg_num, reg1, mask1, reg2, mask2)\
.enable_reg = SRI(reg1, block, reg_num),\
#define hpd_rx_int_entry(reg_num)\
[DC_IRQ_SOURCE_HPD6 + reg_num] = {\
.enable_reg = mmDC_HPD ## reg_num ## _INT_CONTROL,\
.ack_reg = mmDC_HPD ## reg_num ## _INT_CONTROL,\
.status_reg = mmDC_HPD ## reg_num ## _INT_STATUS,\
#define pflip_int_entry(reg_num)\
[DC_IRQ_SOURCE_PFLIP1 + reg_num] = {\
.enable_reg = mmDCP ## reg_num ## _GRPH_INTERRUPT_CONTROL,\
.ack_reg = mmDCP ## reg_num ## _GRPH_INTERRUPT_STATUS,\
.status_reg = mmDCP ## reg_num ##_GRPH_INTERRUPT_STATUS,\
#define vupdate_int_entry(reg_num)\
[DC_IRQ_SOURCE_VUPDATE1 + reg_num] = {\
.enable_reg = mmCRTC ## reg_num ## _CRTC_INTERRUPT_CONTROL,\
.ack_reg = mmCRTC ## reg_num ## _CRTC_V_UPDATE_INT_STATUS,\
#define vblank_int_entry(reg_num)\
[DC_IRQ_SOURCE_VBLANK1 + reg_num] = {\
.enable_reg = mmCRTC ## reg_num ## _CRTC_VERTICAL_INTERRUPT0_CONTROL,\
.ack_reg = mmCRTC ## reg_num ## _CRTC_VERTICAL_INTERRUPT0_CONTROL,\
.src_id = VISLANDS30_IV_SRCID_D1_VERTICAL_INTERRUPT0 + reg_num\
#define i2c_int_entry(reg_num) \
[DC_IRQ_SOURCE_I2C_DDC ## reg_num] = dummy_irq_entry()
#define dp_sink_int_entry(reg_num) \
[DC_IRQ_SOURCE_DPSINK ## reg_num] = dummy_irq_entry()
#define gpio_pad_int_entry(reg_num) \
[DC_IRQ_SOURCE_GPIOPAD ## reg_num] = dummy_irq_entry()
#define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
#define hpd_int_entry(reg_num)\
[DC_IRQ_SOURCE_INVALID + reg_num] = {\
.enable_reg = mmDC_HPD ## reg_num ## _INT_CONTROL,\
.ack_reg = mmDC_HPD ## reg_num ## _INT_CONTROL,\
.status_reg = mmDC_HPD ## reg_num ## _INT_STATUS,\
#define IRQ_REG_ENTRY(block, reg_num, reg1, mask1, reg2, mask2)\
.enable_reg = SRI(reg1, block, reg_num),\
block ## reg_num ## _ ## reg1 ## __ ## mask1 ## _MASK,\
block ## reg_num ## _ ## reg1 ## __ ## mask1 ## _MASK,\
~block ## reg_num ## _ ## reg1 ## __ ## mask1 ## _MASK \
.ack_reg = SRI(reg2, block, reg_num),\
block ## reg_num ## _ ## reg2 ## __ ## mask2 ## _MASK,\
block ## reg_num ## _ ## reg2 ## __ ## mask2 ## _MASK \
#define hpd_int_entry(reg_num)\
[DC_IRQ_SOURCE_HPD1 + reg_num] = {\
IRQ_REG_ENTRY(HPD, reg_num,\
.status_reg = SRI(DC_HPD_INT_STATUS, HPD, reg_num),\
#define hpd_rx_int_entry(reg_num)\
[DC_IRQ_SOURCE_HPD1RX + reg_num] = {\
IRQ_REG_ENTRY(HPD, reg_num,\
.status_reg = SRI(DC_HPD_INT_STATUS, HPD, reg_num),\
#define pflip_int_entry(reg_num)\
[DC_IRQ_SOURCE_PFLIP1 + reg_num] = {\
IRQ_REG_ENTRY(HUBPREQ, reg_num,\
#define vupdate_int_entry(reg_num)\
[DC_IRQ_SOURCE_VUPDATE1 + reg_num] = {\
IRQ_REG_ENTRY(OTG, reg_num,\
#define vblank_int_entry(reg_num)\
[DC_IRQ_SOURCE_VBLANK1 + reg_num] = {\
IRQ_REG_ENTRY(OTG, reg_num,\
#define i2c_int_entry(reg_num) \
[DC_IRQ_SOURCE_I2C_DDC ## reg_num] = dummy_irq_entry()
#define dp_sink_int_entry(reg_num) \
[DC_IRQ_SOURCE_DPSINK ## reg_num] = dummy_irq_entry()
#define gpio_pad_int_entry(reg_num) \
[DC_IRQ_SOURCE_GPIOPAD ## reg_num] = dummy_irq_entry()
#define dc_underflow_int_entry(reg_num) \
[DC_IRQ_SOURCE_DC ## reg_num ## UNDERFLOW] = dummy_irq_entry()
unsigned char reg_num;
u32 dws, data, i, j, k, reg_num;
reg_num = cs_data[i].section[j].reg_count;
data = 0x08000000 | (reg_num * 4);
for (k = 0; k < reg_num; k++) {
reg_list_mc_addr += reg_num * 4;
reg_list_blk_index += reg_num;