/* Releases the SWFW semaphore thought the GSSR register for the specified function (CSR, PHY0, PHY1, EEPROM, Flash)  */
void ixgbe_release_swfw_sync(struct ixgbe_hw *hw, u16 mask)
/* Releases the SWFW semaphore thought the GSSR register for the specified function (CSR, PHY0, PHY1, EEPROM, Flash)  */
void ixgbe_release_swfw_sync(struct ixgbe_hw *hw, u16 mask)
{
	u32 gssr;
	u32 swmask = mask;
	ixgbe_get_eeprom_semaphore(hw);
	gssr = IXGBE_READ_REG(hw, IXGBE_GSSR);
	gssr &= ~swmask;
	IXGBE_WRITE_REG(hw, IXGBE_GSSR, gssr);
	ixgbe_release_eeprom_semaphore(hw);
}