Based on the finite scattering characters of the millimeter-wave multiple-input multiple-output (mmWave MIMO) channel, the mmWave channel estimation problem can be considered as a sparse signal recovery problem. However, most traditional channel estimation methods depend on grid search, which may lead to considerable precision loss. To improve the channel estimation accuracy, we propose a high-precision two-stage millimeter-wave MIMO system channel estimation algorithm. Since the traditional expectation-maximization based sparse Bayesian learning (EM-SBL) algorithm can be applied to handle this problem, however, it spends lots of time to calculate the E-step which needs to compute the inversion of a high dimensional matrix. To avoid the high computation of matrix inversion, we combine damp generalized approximate message passing (DGAMP) with the E-step in SBL. We then improve a refined algorithm to handle the dictionary matrix mismatching problem in sparse representation. Numerical simulations show that the estimation time of the proposed algorithm is greatly reduced compared with the traditional SBL algorithm and better estimation performance is obtained at the same time.