Not sure which one in above triggered it working, but prior to this, I also added in mt7530 below code after your fix . But that alone didnt help.
May be will try to revert changes one by one for SOC specific and find out which is really making a difference.
mt7530_write(priv, 0x3600, 0x5e30b);//PDMA is not ready,disable FC, Prevent HOL
mt7530_write(priv, 0x3500, 0x8000);
/* Enable MT7530 Port 6 */
val = 0x117ccf; //Enable Port 6 only
mt7530_write(priv, 0x7804, val);
mt7530_write(priv, 0x3500, 0x56300); //MT7530 P5 AN
/* Set MT7530 Port 0/4 to PHY mode */
val = mt7530_read(priv, 0x7804);
val &= ~((1<<13)|(1<<6));
val |= ((1<<7)|(1<<16)|(1<<20));
mt7530_write(priv, 0x7804 ,val);
priv->bus->write(priv->bus, 0, 13, 0x1f); // disable MT7530 core clock
priv->bus->write(priv->bus, 0, 14, 0x410);
priv->bus->write(priv->bus, 0, 13, 0x401f);
priv->bus->write(priv->bus, 0, 14, 0x0);
priv->bus->write(priv->bus, 0, 13, 0x1f); // disable MT7530 PLL
priv->bus->write(priv->bus, 0, 14, 0x40d);
priv->bus->write(priv->bus, 0, 13, 0x401f);
priv->bus->write(priv->bus, 0, 14, 0x2020);
priv->bus->write(priv->bus, 0, 13, 0x1f); // for MT7530 core clock = 500Mhz
priv->bus->write(priv->bus, 0, 14, 0x40e);
priv->bus->write(priv->bus, 0, 13, 0x401f);
priv->bus->write(priv->bus, 0, 14, 0x119);
priv->bus->write(priv->bus, 0, 13, 0x1f); // enable MT7530 PLL
priv->bus->write(priv->bus, 0, 14, 0x40d);
priv->bus->write(priv->bus, 0, 13, 0x401f);
priv->bus->write(priv->bus, 0, 14, 0x2820);
udelay(20); //suggest by CD
priv->bus->write(priv->bus, 0, 13, 0x1f); // enable MT7530 core clock
priv->bus->write(priv->bus, 0, 14, 0x410);
priv->bus->write(priv->bus, 0, 13, 0x401f);
priv->bus->write(priv->bus, 0, 14, 0x1);
/*Tx Driving*/
mt7530_write(priv, 0x7a54, 0x44); //lower driving
mt7530_write(priv, 0x7a5c, 0x44); //lower driving
mt7530_write(priv, 0x7a64, 0x44); //lower driving
mt7530_write(priv, 0x7a6c, 0x44); //lower driving
mt7530_write(priv, 0x7a74, 0x44); //lower driving
mt7530_write(priv, 0x7a7c, 0x44); //lower driving
for(i=0;i<=4;i++)
{
//turn on PHY
val = priv->bus->read(priv->bus, i, 0x0);
val &= ~(0x1<<11);
priv->bus->write(priv->bus, i, 0x0, val);
}
let me send diff of my changes for you to check