Lines Matching refs:mdev

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