The interface will interrupt the CPU when it has finished its operation, meaning you can have an entirely interrupt-driven driver that sends and receives buffers in the background, with little CPU cost.
The interface can act as a master, a slave, or both; to work as a slave you have to tell it what slave address to respond to. It will then interrupt the CPU whenever that address is sent out on the bus, and the interrupt handler can then respond to the incoming request.