Lines Matching refs:mdev
48 static bool mgag200_has_sgram(struct mga_device *mdev) in mgag200_has_sgram() argument
50 struct drm_device *dev = &mdev->base; in mgag200_has_sgram()
61 static int mgag200_regs_init(struct mga_device *mdev) in mgag200_regs_init() argument
63 struct drm_device *dev = &mdev->base; in mgag200_regs_init()
67 switch (mdev->type) { in mgag200_regs_init()
70 if (mgag200_has_sgram(mdev)) in mgag200_regs_init()
79 if (mgag200_has_sgram(mdev)) in mgag200_regs_init()
108 mdev->rmmio_base = pci_resource_start(dev->pdev, 1); in mgag200_regs_init()
109 mdev->rmmio_size = pci_resource_len(dev->pdev, 1); in mgag200_regs_init()
111 if (!devm_request_mem_region(dev->dev, mdev->rmmio_base, in mgag200_regs_init()
112 mdev->rmmio_size, "mgadrmfb_mmio")) { in mgag200_regs_init()
117 mdev->rmmio = pcim_iomap(dev->pdev, 1, 0); in mgag200_regs_init()
118 if (mdev->rmmio == NULL) in mgag200_regs_init()
128 static void mgag200_g200_interpret_bios(struct mga_device *mdev, in mgag200_g200_interpret_bios() argument
136 struct drm_device *dev = &mdev->base; in mgag200_g200_interpret_bios()
187 mdev->model.g200.pclk_max = tmp * 10; in mgag200_g200_interpret_bios()
191 mdev->model.g200.pclk_max = (pins[41] + 100) * 1000; in mgag200_g200_interpret_bios()
195 mdev->model.g200.pclk_max = (pins[36] + 100) * 1000; in mgag200_g200_interpret_bios()
197 mdev->model.g200.ref_clk = 14318; in mgag200_g200_interpret_bios()
201 mdev->model.g200.pclk_max = pins[39] * 4 * 1000; in mgag200_g200_interpret_bios()
203 mdev->model.g200.ref_clk = 14318; in mgag200_g200_interpret_bios()
208 mdev->model.g200.pclk_min = pins[123] * tmp; in mgag200_g200_interpret_bios()
210 mdev->model.g200.pclk_max = pins[38] * tmp; in mgag200_g200_interpret_bios()
212 mdev->model.g200.ref_clk = 14318; in mgag200_g200_interpret_bios()
219 static void mgag200_g200_init_refclk(struct mga_device *mdev) in mgag200_g200_init_refclk() argument
221 struct drm_device *dev = &mdev->base; in mgag200_g200_init_refclk()
226 mdev->model.g200.pclk_min = 50000; in mgag200_g200_init_refclk()
227 mdev->model.g200.pclk_max = 230000; in mgag200_g200_init_refclk()
228 mdev->model.g200.ref_clk = 27050; in mgag200_g200_init_refclk()
240 mgag200_g200_interpret_bios(mdev, bios, size); in mgag200_g200_init_refclk()
243 mdev->model.g200.pclk_min, mdev->model.g200.pclk_max, in mgag200_g200_init_refclk()
244 mdev->model.g200.ref_clk); in mgag200_g200_init_refclk()
251 static void mgag200_g200se_init_unique_id(struct mga_device *mdev) in mgag200_g200se_init_unique_id() argument
253 struct drm_device *dev = &mdev->base; in mgag200_g200se_init_unique_id()
256 mdev->model.g200se.unique_rev_id = RREG32(0x1e24); in mgag200_g200se_init_unique_id()
259 mdev->model.g200se.unique_rev_id); in mgag200_g200se_init_unique_id()
262 static int mgag200_device_init(struct mga_device *mdev, unsigned long flags) in mgag200_device_init() argument
264 struct drm_device *dev = &mdev->base; in mgag200_device_init()
267 mdev->flags = mgag200_flags_from_driver_data(flags); in mgag200_device_init()
268 mdev->type = mgag200_type_from_driver_data(flags); in mgag200_device_init()
270 ret = mgag200_regs_init(mdev); in mgag200_device_init()
274 if (mdev->type == G200_PCI || mdev->type == G200_AGP) in mgag200_device_init()
275 mgag200_g200_init_refclk(mdev); in mgag200_device_init()
276 else if (IS_G200_SE(mdev)) in mgag200_device_init()
277 mgag200_g200se_init_unique_id(mdev); in mgag200_device_init()
279 ret = mgag200_mm_init(mdev); in mgag200_device_init()
283 ret = mgag200_modeset_init(mdev); in mgag200_device_init()
296 struct mga_device *mdev; in mgag200_device_create() local
299 mdev = devm_drm_dev_alloc(&pdev->dev, &mgag200_driver, in mgag200_device_create()
301 if (IS_ERR(mdev)) in mgag200_device_create()
302 return mdev; in mgag200_device_create()
303 dev = &mdev->base; in mgag200_device_create()
308 ret = mgag200_device_init(mdev, flags); in mgag200_device_create()
312 return mdev; in mgag200_device_create()
339 struct mga_device *mdev; in mgag200_pci_probe() local
349 mdev = mgag200_device_create(pdev, ent->driver_data); in mgag200_pci_probe()
350 if (IS_ERR(mdev)) in mgag200_pci_probe()
351 return PTR_ERR(mdev); in mgag200_pci_probe()
352 dev = &mdev->base; in mgag200_pci_probe()