AnsweredAssumed Answered

adv7604 interrupt mask/clear

Question asked by hai on May 27, 2014
Latest reply on Jun 6, 2014 by GuenterL

I have a question regarding interrupt mask/clear of adv7604 device, I have printed the mask and status registers of IO map that we care about in our application, and how we handle them after interrupt is triggered.

 

1) inside ISR, before we mask interrupt bits

adv7604hdci 1-0020: dump_registers: 0x46 = dd

adv7604hdci 1-0020: dump_registers: 0x6E = 19

adv7604hdci 1-0020: dump_registers: 0x73 = 10

adv7604hdci 1-0020: dump_registers: 0x43 = 0

adv7604hdci 1-0020: dump_registers: 0x6B = 10

adv7604hdci 1-0020: dump_registers: 0x70 = 0

2) after mask interrupt bits

adv7604hdci 1-0020: dump_registers: 0x46 = 0

adv7604hdci 1-0020: dump_registers: 0x6E = 0

adv7604hdci 1-0020: dump_registers: 0x73 = 0

adv7604hdci 1-0020: dump_registers: 0x43 = 0

adv7604hdci 1-0020: dump_registers: 0x6B = 0

adv7604hdci 1-0020: dump_registers: 0x70 = 0

3) after clear interrupt bits

adv7604hdci 1-0020: dump_registers: 0x46 = 0

adv7604hdci 1-0020: dump_registers: 0x6E = 0

adv7604hdci 1-0020: dump_registers: 0x73 = 0

adv7604hdci 1-0020: dump_registers: 0x43 = 0

adv7604hdci 1-0020: dump_registers: 0x6B = 0

adv7604hdci 1-0020: dump_registers: 0x70 = 0

4) after unmask interrupt bits

adv7604hdci 1-0020: dump_registers: 0x46 = dd

adv7604hdci 1-0020: dump_registers: 0x6E = 19

adv7604hdci 1-0020: dump_registers: 0x73 = 10

adv7604hdci 1-0020: dump_registers: 0x43 = 0

adv7604hdci 1-0020: dump_registers: 0x6B = 10

adv7604hdci 1-0020: dump_registers: 0x70 = 0

 

My question is why masking interrupt bits at step 2) above has the same effect of clearing the interrupts, i.e. 0x6B changed from 0x10 to 0x00, and as soon as we unmask interrupt bits, 0x6B bit4 is set immediately, bit4 is TMDS_CLK. Note that HDMI cable is connected, but no active signal is sent while I was above experiment.

Outcomes