Ticket #328: dcon.patch

File dcon.patch, 1.9 kB (added by AlbertCahalan, 7 years ago)

kernel patch to enable mode switching

  • drivers/video/geode/gxfb_dcon.c

    diff -Naurd old/drivers/video/geode/gxfb_dcon.c new/drivers/video/geode/gxfb_dcon.c
    old new  
    143143                dcon_disp_mode &= ~(MODE_CSWIZZLE | MODE_COL_AA); 
    144144                dcon_disp_mode |= MODE_MONO_LUMA; 
    145145        } 
    146         else { 
     146        else if (arg == DCON_OUTPUT_GREEN) { 
     147                dcon_disp_mode &= ~(MODE_MONO_LUMA | MODE_CSWIZZLE | MODE_COL_AA); 
     148        } 
     149        else if (arg == DCON_OUTPUT_UNFILTERED) { 
     150                dcon_disp_mode &= ~(MODE_MONO_LUMA | MODE_COL_AA); 
     151                dcon_disp_mode |= MODE_CSWIZZLE; 
     152        } 
     153        else if (arg == DCON_OUTPUT_FILTERED) { 
     154                dcon_disp_mode &= ~(MODE_MONO_LUMA); 
     155                dcon_disp_mode |= (MODE_CSWIZZLE | MODE_COL_AA); 
     156        } 
     157        else /* if (arg == DCON_OUTPUT_COLOR) */ { 
    147158                dcon_disp_mode &= ~(MODE_MONO_LUMA); 
    148159                dcon_disp_mode |= MODE_CSWIZZLE; 
    149160                if (useaa) 
     
    281292                if (get_user(karg, (int __user *)arg)) 
    282293                        return -EFAULT; 
    283294 
    284                 if (karg > 1 || karg < -1) 
     295                if (karg > DCON_OUTPUT_MAX || karg < -1) 
    285296                        return -EINVAL; 
    286297 
    287298                if (karg > -1) 
     
    412423        if (_strtoul(buf, count, &output)) 
    413424                return -EINVAL; 
    414425 
    415         if (output == DCON_OUTPUT_COLOR || output == DCON_OUTPUT_MONO) { 
     426        if (output >= 0 && output <= DCON_OUTPUT_MAX) { 
    416427                dcon_set_output(output); 
    417428                rc = count; 
    418429        } 
  • drivers/video/geode/gxfb_dcon.h

    diff -Naurd old/drivers/video/geode/gxfb_dcon.h new/drivers/video/geode/gxfb_dcon.h
    old new  
    6262#define DCON_SOURCE_CPU         1 
    6363 
    6464/* Output values */ 
     65#define DCON_OUTPUT_QUERY      -1 
    6566#define DCON_OUTPUT_COLOR       0 
    6667#define DCON_OUTPUT_MONO        1 
     68#define DCON_OUTPUT_GREEN       2 
     69#define DCON_OUTPUT_FILTERED    3 
     70#define DCON_OUTPUT_UNFILTERED  4 
     71#define DCON_OUTPUT_MAX         DCON_OUTPUT_UNFILTERED 
    6772 
    6873/* Sleep values */ 
    6974#define DCON_ACTIVE             0