Configuring I2C communication - TDA9950 HDMI CEC

Maybe this is over your head. I'm not sure if you can do this.
The datasheet is confusing, it seems to be written by a trainee on his/her first day. I assume that the chip behaves like a standard I2C device with a few extras. If I read the datasheet with that in mind, then it slowly starts to make sense.

Could you read my alternative explanation once more ?
Could you check my code once more ? You kept your old code.

I would like to see a full sketch.

To read the status byte from 0x00 "CSR", you request 7 bytes with this:

Wire.requestFrom(0x34,7, true);

It is your code, you must know why you want to have 7 bytes.
The third parameter is not really used. You can remove the third parameter.

This is not what I showed:

  Wire.beginTransmission(0x34);
  Wire.write(0x00); // Send WRITE "0"
  Wire.write(0x04); // Register 0x04 - REG_ACKH

In the code that I showed, I send the register address (pointer address) of 0x04 after the Wire.beginTransmission(). I don't write "0". That is also not in the datasheet.

You still do that here as well:

  Wire.beginTransmission(0x34);
  Wire.write(0x00); // Send WRITE "0"

I think the first while-loop is okay, waiting for the INT bit. The second one uses CSR = Wire.read() without setting the register address (address pointer) to 0x00 first.
You already use the advanced possibility to read the status by setting the register address (address pointer) just once. You don't have to do that, you may set the register address every time.

Almost every library and sketch has a function to write a number of bytes and to read a number of bytes when dealing with a sensor or other I2C device.