@@ -160,6 +160,7 @@ enum mga_type {
};
#define MGAG200_TYPE_MASK (0x000000ff)
+#define MGAG200_FLAG_MASK (0x00ffff00)
#define IS_G200_SE(mdev) (mdev->type == G200_SE_A || mdev->type == G200_SE_B)
@@ -195,6 +196,13 @@ mgag200_type_from_driver_data(kernel_ulo
{
return (enum mga_type)(driver_data & MGAG200_TYPE_MASK);
}
+
+static inline unsigned long
+mgag200_flags_from_driver_data(kernel_ulong_t driver_data)
+{
+ return driver_data & MGAG200_FLAG_MASK;
+}
+
/* mgag200_mode.c */
int mgag200_modeset_init(struct mga_device *mdev);
void mgag200_modeset_fini(struct mga_device *mdev);
@@ -94,6 +94,7 @@ static int mgag200_device_init(struct dr
struct mga_device *mdev = dev->dev_private;
int ret, option;
+ mdev->flags = mgag200_flags_from_driver_data(flags);
mdev->type = mgag200_type_from_driver_data(flags);
/* Hardcode the number of CRTCs to 1 */