In the paper we consider the case of covariance feedback in MIMO communications, where the channel matrix is modelled as a Gaussian random matrix with zero mean and a non-white covariance matrix available at the transmitter through receiver feedback. Although the structure of the optimal input covariance matrix that achieves the ergodic capacity is known, a closed form expression for its eigenvalues is unavailable. In this paper, we propose a water-filling scheme to approximate the capacity-achieving input covariance matrix. Compared to prior work, our proposed solution has the advantage of a simple closed-form expression that makes it easy to implement. We further propose a precoding scheme based on this suboptimal input covariance matrix. Simulation results suggest that under realistic conditions, this preceding scheme offers a 3-5 dB improvement when it is combined with either OSTBC or a spatial multiplexing scheme