24
24
#include "ddk750.h"
25
25
#include "sm750_accel.h"
26
26
27
- int hw_sm750_map (struct lynx_share * share ,struct pci_dev * pdev )
27
+ int hw_sm750_map (struct lynx_share * share , struct pci_dev * pdev )
28
28
{
29
29
int ret ;
30
30
struct sm750_share * spec_share ;
31
31
32
32
33
- spec_share = container_of (share ,struct sm750_share ,share );
33
+ spec_share = container_of (share , struct sm750_share ,share );
34
34
ret = 0 ;
35
35
36
- share -> vidreg_start = pci_resource_start (pdev ,1 );
36
+ share -> vidreg_start = pci_resource_start (pdev , 1 );
37
37
share -> vidreg_size = MB (2 );
38
38
39
39
pr_info ("mmio phyAddr = %lx\n" , share -> vidreg_start );
@@ -44,37 +44,37 @@ int hw_sm750_map(struct lynx_share* share,struct pci_dev* pdev)
44
44
* successfully
45
45
* */
46
46
47
- if ((ret = pci_request_region (pdev ,1 , "sm750fb" )))
47
+ if ((ret = pci_request_region (pdev , 1 , "sm750fb" )))
48
48
{
49
49
pr_err ("Can not request PCI regions.\n" );
50
50
goto exit ;
51
51
}
52
52
53
53
/* now map mmio and vidmem*/
54
- share -> pvReg = ioremap_nocache (share -> vidreg_start ,share -> vidreg_size );
54
+ share -> pvReg = ioremap_nocache (share -> vidreg_start , share -> vidreg_size );
55
55
if (!share -> pvReg ){
56
56
pr_err ("mmio failed\n" );
57
57
ret = - EFAULT ;
58
58
goto exit ;
59
59
}else {
60
- pr_info ("mmio virtual addr = %p\n" ,share -> pvReg );
60
+ pr_info ("mmio virtual addr = %p\n" , share -> pvReg );
61
61
}
62
62
63
63
64
64
share -> accel .dprBase = share -> pvReg + DE_BASE_ADDR_TYPE1 ;
65
65
share -> accel .dpPortBase = share -> pvReg + DE_PORT_ADDR_TYPE1 ;
66
66
67
- ddk750_set_mmio (share -> pvReg ,share -> devid ,share -> revid );
67
+ ddk750_set_mmio (share -> pvReg ,share -> devid , share -> revid );
68
68
69
- share -> vidmem_start = pci_resource_start (pdev ,0 );
69
+ share -> vidmem_start = pci_resource_start (pdev , 0 );
70
70
/* don't use pdev_resource[x].end - resource[x].start to
71
71
* calculate the resource size,its only the maximum available
72
72
* size but not the actual size,use
73
73
* @hw_sm750_getVMSize function can be safe.
74
74
* */
75
75
share -> vidmem_size = hw_sm750_getVMSize (share );
76
76
pr_info ("video memory phyAddr = %lx, size = %u bytes\n" ,
77
- share -> vidmem_start ,share -> vidmem_size );
77
+ share -> vidmem_start , share -> vidmem_size );
78
78
79
79
/* reserve the vidmem space of smi adaptor */
80
80
#if 0
@@ -93,20 +93,20 @@ int hw_sm750_map(struct lynx_share* share,struct pci_dev* pdev)
93
93
ret = - EFAULT ;
94
94
goto exit ;
95
95
}else {
96
- pr_info ("video memory vaddr = %p\n" ,share -> pvMem );
96
+ pr_info ("video memory vaddr = %p\n" , share -> pvMem );
97
97
}
98
98
exit :
99
99
return ret ;
100
100
}
101
101
102
102
103
103
104
- int hw_sm750_inithw (struct lynx_share * share ,struct pci_dev * pdev )
104
+ int hw_sm750_inithw (struct lynx_share * share , struct pci_dev * pdev )
105
105
{
106
106
struct sm750_share * spec_share ;
107
107
struct init_status * parm ;
108
108
109
- spec_share = container_of (share ,struct sm750_share ,share );
109
+ spec_share = container_of (share , struct sm750_share ,share );
110
110
parm = & spec_share -> state .initParm ;
111
111
if (parm -> chip_clk == 0 )
112
112
parm -> chip_clk = (getChipType () == SM750LE )?
@@ -122,7 +122,7 @@ int hw_sm750_inithw(struct lynx_share* share,struct pci_dev * pdev)
122
122
/* for sm718,open pci burst */
123
123
if (share -> devid == 0x718 ){
124
124
POKE32 (SYSTEM_CTRL ,
125
- FIELD_SET (PEEK32 (SYSTEM_CTRL ),SYSTEM_CTRL ,PCI_BURST ,ON ));
125
+ FIELD_SET (PEEK32 (SYSTEM_CTRL ), SYSTEM_CTRL , PCI_BURST , ON ));
126
126
}
127
127
128
128
/* sm750 use sii164, it can be setup with default value
@@ -138,22 +138,22 @@ int hw_sm750_inithw(struct lynx_share* share,struct pci_dev * pdev)
138
138
POKE32 (MISC_CTRL ,
139
139
FIELD_SET (PEEK32 (MISC_CTRL ),
140
140
MISC_CTRL ,
141
- DAC_POWER ,OFF ));
141
+ DAC_POWER , OFF ));
142
142
/* shut off dpms */
143
143
POKE32 (SYSTEM_CTRL ,
144
144
FIELD_SET (PEEK32 (SYSTEM_CTRL ),
145
145
SYSTEM_CTRL ,
146
- DPMS ,VNHN ));
146
+ DPMS , VNHN ));
147
147
}else {
148
148
POKE32 (MISC_CTRL ,
149
149
FIELD_SET (PEEK32 (MISC_CTRL ),
150
150
MISC_CTRL ,
151
- DAC_POWER ,ON ));
151
+ DAC_POWER , ON ));
152
152
/* turn on dpms */
153
153
POKE32 (SYSTEM_CTRL ,
154
154
FIELD_SET (PEEK32 (SYSTEM_CTRL ),
155
155
SYSTEM_CTRL ,
156
- DPMS ,VPHP ));
156
+ DPMS , VPHP ));
157
157
}
158
158
159
159
switch (spec_share -> state .pnltype ){
@@ -211,15 +211,15 @@ resource_size_t hw_sm750_getVMSize(struct lynx_share * share)
211
211
212
212
213
213
214
- int hw_sm750_output_checkMode (struct lynxfb_output * output ,struct fb_var_screeninfo * var )
214
+ int hw_sm750_output_checkMode (struct lynxfb_output * output , struct fb_var_screeninfo * var )
215
215
{
216
216
217
217
return 0 ;
218
218
}
219
219
220
220
221
221
int hw_sm750_output_setMode (struct lynxfb_output * output ,
222
- struct fb_var_screeninfo * var ,struct fb_fix_screeninfo * fix )
222
+ struct fb_var_screeninfo * var , struct fb_fix_screeninfo * fix )
223
223
{
224
224
int ret ;
225
225
disp_output_t dispSet ;
@@ -252,7 +252,7 @@ int hw_sm750_output_setMode(struct lynxfb_output* output,
252
252
u32 reg ;
253
253
reg = PEEK32 (DISPLAY_CONTROL_750LE );
254
254
reg |= 0xf ;
255
- POKE32 (DISPLAY_CONTROL_750LE ,reg );
255
+ POKE32 (DISPLAY_CONTROL_750LE , reg );
256
256
}
257
257
258
258
pr_info ("ddk setlogicdispout done \n" );
@@ -265,12 +265,12 @@ void hw_sm750_output_clear(struct lynxfb_output* output)
265
265
return ;
266
266
}
267
267
268
- int hw_sm750_crtc_checkMode (struct lynxfb_crtc * crtc ,struct fb_var_screeninfo * var )
268
+ int hw_sm750_crtc_checkMode (struct lynxfb_crtc * crtc , struct fb_var_screeninfo * var )
269
269
{
270
270
struct lynx_share * share ;
271
271
272
272
273
- share = container_of (crtc ,struct lynxfb_par ,crtc )-> share ;
273
+ share = container_of (crtc , struct lynxfb_par ,crtc )-> share ;
274
274
275
275
switch (var -> bits_per_pixel ){
276
276
case 8 :
@@ -307,7 +307,7 @@ int hw_sm750_crtc_setMode(struct lynxfb_crtc* crtc,
307
307
308
308
309
309
ret = 0 ;
310
- par = container_of (crtc ,struct lynxfb_par ,crtc );
310
+ par = container_of (crtc , struct lynxfb_par , crtc );
311
311
share = par -> share ;
312
312
#if 1
313
313
if (!share -> accel_off ){
@@ -324,7 +324,7 @@ int hw_sm750_crtc_setMode(struct lynxfb_crtc* crtc,
324
324
fmt = 2 ;
325
325
break ;
326
326
}
327
- hw_set2dformat (& share -> accel ,fmt );
327
+ hw_set2dformat (& share -> accel , fmt );
328
328
}
329
329
#endif
330
330
@@ -349,8 +349,8 @@ int hw_sm750_crtc_setMode(struct lynxfb_crtc* crtc,
349
349
else
350
350
clock = SECONDARY_PLL ;
351
351
352
- pr_debug ("Request pixel clock = %lu\n" ,modparm .pixel_clock );
353
- ret = ddk750_setModeTiming (& modparm ,clock );
352
+ pr_debug ("Request pixel clock = %lu\n" , modparm .pixel_clock );
353
+ ret = ddk750_setModeTiming (& modparm , clock );
354
354
if (ret ){
355
355
pr_err ("Set mode timing failed\n" );
356
356
goto exit ;
@@ -359,54 +359,54 @@ int hw_sm750_crtc_setMode(struct lynxfb_crtc* crtc,
359
359
if (crtc -> channel != sm750_secondary ){
360
360
/* set pitch, offset ,width,start address ,etc... */
361
361
POKE32 (PANEL_FB_ADDRESS ,
362
- FIELD_SET (0 ,PANEL_FB_ADDRESS ,STATUS ,CURRENT )|
363
- FIELD_SET (0 ,PANEL_FB_ADDRESS ,EXT ,LOCAL )|
364
- FIELD_VALUE (0 ,PANEL_FB_ADDRESS ,ADDRESS ,crtc -> oScreen ));
362
+ FIELD_SET (0 , PANEL_FB_ADDRESS , STATUS , CURRENT )|
363
+ FIELD_SET (0 , PANEL_FB_ADDRESS , EXT , LOCAL )|
364
+ FIELD_VALUE (0 , PANEL_FB_ADDRESS , ADDRESS , crtc -> oScreen ));
365
365
366
366
reg = var -> xres * (var -> bits_per_pixel >> 3 );
367
367
/* crtc->channel is not equal to par->index on numeric,be aware of that */
368
368
reg = PADDING (crtc -> line_pad ,reg );
369
369
370
370
POKE32 (PANEL_FB_WIDTH ,
371
- FIELD_VALUE (0 ,PANEL_FB_WIDTH ,WIDTH ,reg )|
372
- FIELD_VALUE (0 ,PANEL_FB_WIDTH ,OFFSET ,fix -> line_length ));
371
+ FIELD_VALUE (0 , PANEL_FB_WIDTH , WIDTH , reg )|
372
+ FIELD_VALUE (0 , PANEL_FB_WIDTH , OFFSET , fix -> line_length ));
373
373
374
374
POKE32 (PANEL_WINDOW_WIDTH ,
375
- FIELD_VALUE (0 ,PANEL_WINDOW_WIDTH ,WIDTH ,var -> xres - 1 )|
376
- FIELD_VALUE (0 ,PANEL_WINDOW_WIDTH ,X , var -> xoffset ));
375
+ FIELD_VALUE (0 , PANEL_WINDOW_WIDTH , WIDTH , var -> xres - 1 )|
376
+ FIELD_VALUE (0 , PANEL_WINDOW_WIDTH , X , var -> xoffset ));
377
377
378
378
POKE32 (PANEL_WINDOW_HEIGHT ,
379
- FIELD_VALUE (0 ,PANEL_WINDOW_HEIGHT ,HEIGHT ,var -> yres_virtual - 1 )|
380
- FIELD_VALUE (0 ,PANEL_WINDOW_HEIGHT ,Y , var -> yoffset ));
379
+ FIELD_VALUE (0 , PANEL_WINDOW_HEIGHT , HEIGHT , var -> yres_virtual - 1 )|
380
+ FIELD_VALUE (0 , PANEL_WINDOW_HEIGHT , Y , var -> yoffset ));
381
381
382
- POKE32 (PANEL_PLANE_TL ,0 );
382
+ POKE32 (PANEL_PLANE_TL , 0 );
383
383
384
384
POKE32 (PANEL_PLANE_BR ,
385
- FIELD_VALUE (0 ,PANEL_PLANE_BR ,BOTTOM ,var -> yres - 1 )|
386
- FIELD_VALUE (0 ,PANEL_PLANE_BR ,RIGHT ,var -> xres - 1 ));
385
+ FIELD_VALUE (0 , PANEL_PLANE_BR , BOTTOM , var -> yres - 1 )|
386
+ FIELD_VALUE (0 , PANEL_PLANE_BR ,RIGHT , var -> xres - 1 ));
387
387
388
388
/* set pixel format */
389
389
reg = PEEK32 (PANEL_DISPLAY_CTRL );
390
390
POKE32 (PANEL_DISPLAY_CTRL ,
391
391
FIELD_VALUE (reg ,
392
- PANEL_DISPLAY_CTRL ,FORMAT ,
392
+ PANEL_DISPLAY_CTRL , FORMAT ,
393
393
(var -> bits_per_pixel >> 4 )
394
394
));
395
395
}else {
396
396
/* not implemented now */
397
- POKE32 (CRT_FB_ADDRESS ,crtc -> oScreen );
397
+ POKE32 (CRT_FB_ADDRESS , crtc -> oScreen );
398
398
reg = var -> xres * (var -> bits_per_pixel >> 3 );
399
399
/* crtc->channel is not equal to par->index on numeric,be aware of that */
400
- reg = PADDING (crtc -> line_pad ,reg );
400
+ reg = PADDING (crtc -> line_pad , reg );
401
401
402
402
POKE32 (CRT_FB_WIDTH ,
403
- FIELD_VALUE (0 ,CRT_FB_WIDTH ,WIDTH ,reg )|
404
- FIELD_VALUE (0 ,CRT_FB_WIDTH ,OFFSET ,fix -> line_length ));
403
+ FIELD_VALUE (0 , CRT_FB_WIDTH , WIDTH , reg )|
404
+ FIELD_VALUE (0 , CRT_FB_WIDTH , OFFSET , fix -> line_length ));
405
405
406
406
/* SET PIXEL FORMAT */
407
407
reg = PEEK32 (CRT_DISPLAY_CTRL );
408
- reg = FIELD_VALUE (reg ,CRT_DISPLAY_CTRL ,FORMAT ,var -> bits_per_pixel >> 4 );
409
- POKE32 (CRT_DISPLAY_CTRL ,reg );
408
+ reg = FIELD_VALUE (reg , CRT_DISPLAY_CTRL , FORMAT , var -> bits_per_pixel >> 4 );
409
+ POKE32 (CRT_DISPLAY_CTRL , reg );
410
410
411
411
}
412
412
@@ -421,15 +421,15 @@ void hw_sm750_crtc_clear(struct lynxfb_crtc* crtc)
421
421
return ;
422
422
}
423
423
424
- int hw_sm750_setColReg (struct lynxfb_crtc * crtc ,ushort index ,
425
- ushort red ,ushort green ,ushort blue )
424
+ int hw_sm750_setColReg (struct lynxfb_crtc * crtc , ushort index ,
425
+ ushort red , ushort green , ushort blue )
426
426
{
427
427
static unsigned int add []= {PANEL_PALETTE_RAM ,CRT_PALETTE_RAM };
428
- POKE32 (add [crtc -> channel ] + index * 4 , (red <<16 )|(green <<8 )|blue );
428
+ POKE32 (add [crtc -> channel ] + index * 4 , (red <<16 )|(green <<8 )|blue );
429
429
return 0 ;
430
430
}
431
431
432
- int hw_sm750le_setBLANK (struct lynxfb_output * output ,int blank ){
432
+ int hw_sm750le_setBLANK (struct lynxfb_output * output , int blank ){
433
433
int dpms ,crtdb ;
434
434
435
435
switch (blank )
@@ -477,15 +477,15 @@ int hw_sm750le_setBLANK(struct lynxfb_output * output,int blank){
477
477
}
478
478
479
479
if (output -> paths & sm750_crt ){
480
- POKE32 (CRT_DISPLAY_CTRL ,FIELD_VALUE (PEEK32 (CRT_DISPLAY_CTRL ),CRT_DISPLAY_CTRL ,DPMS ,dpms ));
481
- POKE32 (CRT_DISPLAY_CTRL ,FIELD_VALUE (PEEK32 (CRT_DISPLAY_CTRL ),CRT_DISPLAY_CTRL ,BLANK ,crtdb ));
480
+ POKE32 (CRT_DISPLAY_CTRL , FIELD_VALUE (PEEK32 (CRT_DISPLAY_CTRL ), CRT_DISPLAY_CTRL , DPMS , dpms ));
481
+ POKE32 (CRT_DISPLAY_CTRL , FIELD_VALUE (PEEK32 (CRT_DISPLAY_CTRL ), CRT_DISPLAY_CTRL , BLANK , crtdb ));
482
482
}
483
483
return 0 ;
484
484
}
485
485
486
486
int hw_sm750_setBLANK (struct lynxfb_output * output ,int blank )
487
487
{
488
- unsigned int dpms ,pps ,crtdb ;
488
+ unsigned int dpms , pps , crtdb ;
489
489
490
490
dpms = pps = crtdb = 0 ;
491
491
@@ -540,12 +540,12 @@ int hw_sm750_setBLANK(struct lynxfb_output* output,int blank)
540
540
541
541
if (output -> paths & sm750_crt ){
542
542
543
- POKE32 (SYSTEM_CTRL ,FIELD_VALUE (PEEK32 (SYSTEM_CTRL ),SYSTEM_CTRL ,DPMS ,dpms ));
544
- POKE32 (CRT_DISPLAY_CTRL ,FIELD_VALUE (PEEK32 (CRT_DISPLAY_CTRL ),CRT_DISPLAY_CTRL ,BLANK ,crtdb ));
543
+ POKE32 (SYSTEM_CTRL ,FIELD_VALUE (PEEK32 (SYSTEM_CTRL ), SYSTEM_CTRL , DPMS , dpms ));
544
+ POKE32 (CRT_DISPLAY_CTRL ,FIELD_VALUE (PEEK32 (CRT_DISPLAY_CTRL ), CRT_DISPLAY_CTRL ,BLANK , crtdb ));
545
545
}
546
546
547
547
if (output -> paths & sm750_panel ){
548
- POKE32 (PANEL_DISPLAY_CTRL ,FIELD_VALUE (PEEK32 (PANEL_DISPLAY_CTRL ),PANEL_DISPLAY_CTRL ,DATA ,pps ));
548
+ POKE32 (PANEL_DISPLAY_CTRL , FIELD_VALUE (PEEK32 (PANEL_DISPLAY_CTRL ), PANEL_DISPLAY_CTRL , DATA , pps ));
549
549
}
550
550
551
551
return 0 ;
@@ -559,22 +559,22 @@ void hw_sm750_initAccel(struct lynx_share * share)
559
559
560
560
if (getChipType () == SM750LE ){
561
561
reg = PEEK32 (DE_STATE1 );
562
- reg = FIELD_SET (reg ,DE_STATE1 ,DE_ABORT ,ON );
562
+ reg = FIELD_SET (reg , DE_STATE1 , DE_ABORT ,ON );
563
563
POKE32 (DE_STATE1 ,reg );
564
564
565
565
reg = PEEK32 (DE_STATE1 );
566
- reg = FIELD_SET (reg ,DE_STATE1 ,DE_ABORT ,OFF );
567
- POKE32 (DE_STATE1 ,reg );
566
+ reg = FIELD_SET (reg , DE_STATE1 , DE_ABORT ,OFF );
567
+ POKE32 (DE_STATE1 , reg );
568
568
569
569
}else {
570
570
/* engine reset */
571
571
reg = PEEK32 (SYSTEM_CTRL );
572
- reg = FIELD_SET (reg ,SYSTEM_CTRL ,DE_ABORT ,ON );
573
- POKE32 (SYSTEM_CTRL ,reg );
572
+ reg = FIELD_SET (reg , SYSTEM_CTRL , DE_ABORT ,ON );
573
+ POKE32 (SYSTEM_CTRL , reg );
574
574
575
575
reg = PEEK32 (SYSTEM_CTRL );
576
- reg = FIELD_SET (reg ,SYSTEM_CTRL ,DE_ABORT ,OFF );
577
- POKE32 (SYSTEM_CTRL ,reg );
576
+ reg = FIELD_SET (reg , SYSTEM_CTRL , DE_ABORT ,OFF );
577
+ POKE32 (SYSTEM_CTRL , reg );
578
578
}
579
579
580
580
/* call 2d init */
@@ -586,9 +586,9 @@ int hw_sm750le_deWait(void)
586
586
int i = 0x10000000 ;
587
587
while (i -- ){
588
588
unsigned int dwVal = PEEK32 (DE_STATE2 );
589
- if ((FIELD_GET (dwVal ,DE_STATE2 ,DE_STATUS ) == DE_STATE2_DE_STATUS_IDLE ) &&
590
- (FIELD_GET (dwVal ,DE_STATE2 ,DE_FIFO ) == DE_STATE2_DE_FIFO_EMPTY ) &&
591
- (FIELD_GET (dwVal ,DE_STATE2 ,DE_MEM_FIFO ) == DE_STATE2_DE_MEM_FIFO_EMPTY ))
589
+ if ((FIELD_GET (dwVal , DE_STATE2 , DE_STATUS ) == DE_STATE2_DE_STATUS_IDLE ) &&
590
+ (FIELD_GET (dwVal , DE_STATE2 , DE_FIFO ) == DE_STATE2_DE_FIFO_EMPTY ) &&
591
+ (FIELD_GET (dwVal , DE_STATE2 , DE_MEM_FIFO ) == DE_STATE2_DE_MEM_FIFO_EMPTY ))
592
592
{
593
593
return 0 ;
594
594
}
0 commit comments