Just adding an old update.
I got the volume control knob working.
The Arduino reads the rotary encoder value, and sends it to the Raspberry PI over I2C bus.
A little bit troublesome, as it needs to continuously poll for volume, but also has to send commands to the Arduino to display stuff on the screen. So I used Python threading with a queue. So that there are no conflicts.
I was quite happy when it started working. Although, there is a delay between when I change the volume, and when volume is actually changed. I think there must be some delays in my code. This issue is still not resolved yet.