The PHY is responsible for physically sensing the carrier and detecting the collision.
The MAC is responsible for using that information to decide when to transmit a packet and retransmitting the packet if a collision happens.
The PHY performs the auto-negotiation process.
At least on the implementations I have seen the host processor reads the negotiated settings from the PHY and programs them into the settings registers of the MAC and PHY (some settings, for example speed will need to be configured the same on both MAC and PHY).
How settings are read and written from the MAC and PHY is implementation dependent, typically for separate PHYs an interface called MDIO is used. On integrated MAC/PHY chips the PHY registers may be integrated into the controller's main register map.