Lines Matching refs:dev_priv
128 static int psb_gtt_enable(struct drm_psb_private *dev_priv) in psb_gtt_enable() argument
130 struct drm_device *dev = &dev_priv->dev; in psb_gtt_enable()
134 ret = pci_read_config_word(pdev, PSB_GMCH_CTRL, &dev_priv->gmch_ctrl); in psb_gtt_enable()
137 ret = pci_write_config_word(pdev, PSB_GMCH_CTRL, dev_priv->gmch_ctrl | _PSB_GMCH_ENABLED); in psb_gtt_enable()
141 dev_priv->pge_ctl = PSB_RVDC32(PSB_PGETBL_CTL); in psb_gtt_enable()
142 PSB_WVDC32(dev_priv->pge_ctl | _PSB_PGETBL_ENABLED, PSB_PGETBL_CTL); in psb_gtt_enable()
149 static void psb_gtt_disable(struct drm_psb_private *dev_priv) in psb_gtt_disable() argument
151 struct drm_device *dev = &dev_priv->dev; in psb_gtt_disable()
154 pci_write_config_word(pdev, PSB_GMCH_CTRL, dev_priv->gmch_ctrl); in psb_gtt_disable()
155 PSB_WVDC32(dev_priv->pge_ctl, PSB_PGETBL_CTL); in psb_gtt_disable()
162 struct drm_psb_private *dev_priv = to_drm_psb_private(dev); in psb_gtt_fini() local
164 iounmap(dev_priv->gtt_map); in psb_gtt_fini()
165 psb_gtt_disable(dev_priv); in psb_gtt_fini()
166 mutex_destroy(&dev_priv->gtt_mutex); in psb_gtt_fini()
185 static void psb_gtt_init_ranges(struct drm_psb_private *dev_priv) in psb_gtt_init_ranges() argument
187 struct drm_device *dev = &dev_priv->dev; in psb_gtt_init_ranges()
189 struct psb_gtt *pg = &dev_priv->gtt; in psb_gtt_init_ranges()
195 gtt_phys_start = dev_priv->pge_ctl & PAGE_MASK; in psb_gtt_init_ranges()
212 gtt_start = dev_priv->pge_ctl; in psb_gtt_init_ranges()
252 dev_priv->gtt_mem = gtt_mem; in psb_gtt_init_ranges()
257 struct drm_psb_private *dev_priv = to_drm_psb_private(dev); in psb_gtt_init() local
258 struct psb_gtt *pg = &dev_priv->gtt; in psb_gtt_init()
261 mutex_init(&dev_priv->gtt_mutex); in psb_gtt_init()
263 ret = psb_gtt_enable(dev_priv); in psb_gtt_init()
267 psb_gtt_init_ranges(dev_priv); in psb_gtt_init()
269 dev_priv->gtt_map = ioremap(pg->gtt_phys_start, pg->gtt_pages << PAGE_SHIFT); in psb_gtt_init()
270 if (!dev_priv->gtt_map) { in psb_gtt_init()
276 psb_gtt_clear(dev_priv); in psb_gtt_init()
281 psb_gtt_disable(dev_priv); in psb_gtt_init()
283 mutex_destroy(&dev_priv->gtt_mutex); in psb_gtt_init()
289 struct drm_psb_private *dev_priv = to_drm_psb_private(dev); in psb_gtt_resume() local
290 struct psb_gtt *pg = &dev_priv->gtt; in psb_gtt_resume()
295 ret = psb_gtt_enable(dev_priv); in psb_gtt_resume()
299 psb_gtt_init_ranges(dev_priv); in psb_gtt_resume()
307 psb_gtt_clear(dev_priv); in psb_gtt_resume()
310 psb_gtt_disable(dev_priv); in psb_gtt_resume()