This doesn't look right:
//Desc
#define MDIO_CONTROL_WORD_REG_INITIATE_MASK 0x00000400
#define MDIO_CONTROL_WORD_REG_INITIATE_ACCESS XLNX_WO
#define MDIO_CONTROL_WORD_REG_INITIATE_SHIFT 11
#define MDIO_CONTROL_WORD_REG_INITIATE_DEFAULT 0x0
The initiate bit is bit 11 but the mask is set on bit 10.
If you use the mask from the header file in your driver code you clear the bit you just set and MDIO operations don't initiate.