__ast_device_set_tx_chip(ast, tx_chip);
}
+static const struct ast_device_quirks ast_2000_device_quirks = {
+};
+
struct drm_device *ast_2000_device_create(struct pci_dev *pdev,
const struct drm_driver *drv,
enum ast_chip chip,
return ERR_CAST(ast);
dev = &ast->base;
- ast_device_init(ast, chip, config_mode, regs, ioregs);
+ ast_device_init(ast, chip, config_mode, regs, ioregs, &ast_2000_device_quirks);
ast->dclk_table = ast_2000_dclk_table;
ast->support_wuxga = true;
}
+static const struct ast_device_quirks ast_2100_device_quirks = {
+};
+
struct drm_device *ast_2100_device_create(struct pci_dev *pdev,
const struct drm_driver *drv,
enum ast_chip chip,
return ERR_CAST(ast);
dev = &ast->base;
- ast_device_init(ast, chip, config_mode, regs, ioregs);
+ ast_device_init(ast, chip, config_mode, regs, ioregs, &ast_2100_device_quirks);
ast->dclk_table = ast_2000_dclk_table;
ast->support_wuxga = true;
}
+static const struct ast_device_quirks ast_2200_device_quirks = {
+};
+
struct drm_device *ast_2200_device_create(struct pci_dev *pdev,
const struct drm_driver *drv,
enum ast_chip chip,
return ERR_CAST(ast);
dev = &ast->base;
- ast_device_init(ast, chip, config_mode, regs, ioregs);
+ ast_device_init(ast, chip, config_mode, regs, ioregs, &ast_2200_device_quirks);
ast->dclk_table = ast_2000_dclk_table;
ast->support_wuxga = true;
}
+static const struct ast_device_quirks ast_2300_device_quirks = {
+};
+
struct drm_device *ast_2300_device_create(struct pci_dev *pdev,
const struct drm_driver *drv,
enum ast_chip chip,
return ERR_CAST(ast);
dev = &ast->base;
- ast_device_init(ast, chip, config_mode, regs, ioregs);
+ ast_device_init(ast, chip, config_mode, regs, ioregs, &ast_2300_device_quirks);
ast->dclk_table = ast_2000_dclk_table;
ast->support_wuxga = true;
}
+static const struct ast_device_quirks ast_2400_device_quirks = {
+};
+
struct drm_device *ast_2400_device_create(struct pci_dev *pdev,
const struct drm_driver *drv,
enum ast_chip chip,
return ERR_CAST(ast);
dev = &ast->base;
- ast_device_init(ast, chip, config_mode, regs, ioregs);
+ ast_device_init(ast, chip, config_mode, regs, ioregs, &ast_2400_device_quirks);
ast->dclk_table = ast_2000_dclk_table;
ast->support_wuxga = true;
}
+static const struct ast_device_quirks ast_2500_device_quirks = {
+};
+
struct drm_device *ast_2500_device_create(struct pci_dev *pdev,
const struct drm_driver *drv,
enum ast_chip chip,
return ERR_CAST(ast);
dev = &ast->base;
- ast_device_init(ast, chip, config_mode, regs, ioregs);
+ ast_device_init(ast, chip, config_mode, regs, ioregs, &ast_2500_device_quirks);
ast->dclk_table = ast_2500_dclk_table;
ast->support_wuxga = true;
}
+static const struct ast_device_quirks ast_2600_device_quirks = {
+};
+
struct drm_device *ast_2600_device_create(struct pci_dev *pdev,
const struct drm_driver *drv,
enum ast_chip chip,
return ERR_CAST(ast);
dev = &ast->base;
- ast_device_init(ast, chip, config_mode, regs, ioregs);
+ ast_device_init(ast, chip, config_mode, regs, ioregs, &ast_2600_device_quirks);
ast->dclk_table = ast_2500_dclk_table;
enum ast_chip chip,
enum ast_config_mode config_mode,
void __iomem *regs,
- void __iomem *ioregs)
+ void __iomem *ioregs,
+ const struct ast_device_quirks *quirks)
{
+ ast->quirks = quirks;
ast->chip = chip;
ast->config_mode = config_mode;
ast->regs = regs;
* Device
*/
+struct ast_device_quirks {
+};
+
struct ast_device {
struct drm_device base;
+ const struct ast_device_quirks *quirks;
+
void __iomem *regs;
void __iomem *ioregs;
void __iomem *dp501_fw_buf;
enum ast_chip chip,
enum ast_config_mode config_mode,
void __iomem *regs,
- void __iomem *ioregs);
+ void __iomem *ioregs,
+ const struct ast_device_quirks *quirks);
void __ast_device_set_tx_chip(struct ast_device *ast, enum ast_tx_chip tx_chip);
/* ast_2000.c */