No data on I2C_AO_SDA

I have been trying to make a i2c peripheral work but I cannot seem to get any data on the data line of I2C_AO_SDA. Here is the logic analyzer output. Can someone please advise if i am missing something here ?

Below is the code.
///
mI2cHandle = open( “/dev/i2c-0”, O_RDWR );
if( mI2cHandle < 0 )
{
perror( “open: failed” );
return;
}
if (ioctl(mI2cHandle, I2C_SLAVE, SI4703) < 0) { // Set device address 0x10.
perror(“Failed to acquire bus access and/or talk to slave”);
}
if (ioctl(mI2cHandle, I2C_PEC, 1) < 0) { // Enable “Packet Error Checking”.
perror(“Failed to enable PEC”);
}

Found my solution(I think):
I was porting this code over my code from a raspberry pi to Vim3 and so in raspberry pi when resetting the chip I also set SDA as out and set SDA low which was not needed in VIM3(I am guessing because other devices are connected and that SDA is already what its suppose to be ). So As soon as i stopped changing SDA on the first reset of my i2c device I started seeing data.