drivers/staging/sm750fb/sm750.c
1000
sm750_dev->fb_count--;
drivers/staging/sm750fb/sm750.c
1004
static int sm750fb_framebuffer_alloc(struct sm750_dev *sm750_dev, int fbidx)
drivers/staging/sm750fb/sm750.c
1011
&sm750_dev->pdev->dev);
drivers/staging/sm750fb/sm750.c
1015
sm750_dev->fbinfo[fbidx] = fb_info;
drivers/staging/sm750fb/sm750.c
1017
par->dev = sm750_dev;
drivers/staging/sm750fb/sm750.c
1027
sm750_dev->fb_count++;
drivers/staging/sm750fb/sm750.c
1039
struct sm750_dev *sm750_dev = NULL;
drivers/staging/sm750fb/sm750.c
1054
sm750_dev = devm_kzalloc(&pdev->dev, sizeof(*sm750_dev), GFP_KERNEL);
drivers/staging/sm750fb/sm750.c
1055
if (!sm750_dev)
drivers/staging/sm750fb/sm750.c
1058
sm750_dev->fbinfo[0] = NULL;
drivers/staging/sm750fb/sm750.c
1059
sm750_dev->fbinfo[1] = NULL;
drivers/staging/sm750fb/sm750.c
1060
sm750_dev->devid = pdev->device;
drivers/staging/sm750fb/sm750.c
1061
sm750_dev->revid = pdev->revision;
drivers/staging/sm750fb/sm750.c
1062
sm750_dev->pdev = pdev;
drivers/staging/sm750fb/sm750.c
1063
sm750_dev->mtrr_off = g_nomtrr;
drivers/staging/sm750fb/sm750.c
1064
sm750_dev->mtrr.vram = 0;
drivers/staging/sm750fb/sm750.c
1065
sm750_dev->accel_off = g_noaccel;
drivers/staging/sm750fb/sm750.c
1066
spin_lock_init(&sm750_dev->slock);
drivers/staging/sm750fb/sm750.c
1068
if (!sm750_dev->accel_off) {
drivers/staging/sm750fb/sm750.c
1075
sm750_dev->accel.de_init = sm750_hw_de_init;
drivers/staging/sm750fb/sm750.c
1076
sm750_dev->accel.de_fillrect = sm750_hw_fillrect;
drivers/staging/sm750fb/sm750.c
1077
sm750_dev->accel.de_copyarea = sm750_hw_copyarea;
drivers/staging/sm750fb/sm750.c
1078
sm750_dev->accel.de_imageblit = sm750_hw_imageblit;
drivers/staging/sm750fb/sm750.c
1082
sm750fb_setup(sm750_dev, g_settings);
drivers/staging/sm750fb/sm750.c
1085
err = hw_sm750_map(sm750_dev, pdev);
drivers/staging/sm750fb/sm750.c
1089
if (!sm750_dev->mtrr_off)
drivers/staging/sm750fb/sm750.c
1090
sm750_dev->mtrr.vram = arch_phys_wc_add(sm750_dev->vidmem_start,
drivers/staging/sm750fb/sm750.c
1091
sm750_dev->vidmem_size);
drivers/staging/sm750fb/sm750.c
1093
memset_io(sm750_dev->pvMem, 0, sm750_dev->vidmem_size);
drivers/staging/sm750fb/sm750.c
1095
pci_set_drvdata(pdev, sm750_dev);
drivers/staging/sm750fb/sm750.c
1098
hw_sm750_inithw(sm750_dev, pdev);
drivers/staging/sm750fb/sm750.c
1103
err = sm750fb_framebuffer_alloc(sm750_dev, fbidx);
drivers/staging/sm750fb/sm750.c
1111
sm750fb_framebuffer_release(sm750_dev);
drivers/staging/sm750fb/sm750.c
1117
struct sm750_dev *sm750_dev;
drivers/staging/sm750fb/sm750.c
1119
sm750_dev = pci_get_drvdata(pdev);
drivers/staging/sm750fb/sm750.c
1121
sm750fb_framebuffer_release(sm750_dev);
drivers/staging/sm750fb/sm750.c
1122
arch_phys_wc_del(sm750_dev->mtrr.vram);
drivers/staging/sm750fb/sm750.c
1124
iounmap(sm750_dev->pvReg);
drivers/staging/sm750fb/sm750.c
1125
iounmap(sm750_dev->pvMem);
drivers/staging/sm750fb/sm750.c
162
struct sm750_dev *sm750_dev;
drivers/staging/sm750fb/sm750.c
170
sm750_dev = par->dev;
drivers/staging/sm750fb/sm750.c
190
spin_lock(&sm750_dev->slock);
drivers/staging/sm750fb/sm750.c
192
sm750_dev->accel.de_fillrect(&sm750_dev->accel,
drivers/staging/sm750fb/sm750.c
197
spin_unlock(&sm750_dev->slock);
drivers/staging/sm750fb/sm750.c
204
struct sm750_dev *sm750_dev;
drivers/staging/sm750fb/sm750.c
208
sm750_dev = par->dev;
drivers/staging/sm750fb/sm750.c
224
spin_lock(&sm750_dev->slock);
drivers/staging/sm750fb/sm750.c
226
sm750_dev->accel.de_copyarea(&sm750_dev->accel,
drivers/staging/sm750fb/sm750.c
231
spin_unlock(&sm750_dev->slock);
drivers/staging/sm750fb/sm750.c
240
struct sm750_dev *sm750_dev;
drivers/staging/sm750fb/sm750.c
243
sm750_dev = par->dev;
drivers/staging/sm750fb/sm750.c
273
spin_lock(&sm750_dev->slock);
drivers/staging/sm750fb/sm750.c
275
sm750_dev->accel.de_imageblit(&sm750_dev->accel,
drivers/staging/sm750fb/sm750.c
281
spin_unlock(&sm750_dev->slock);
drivers/staging/sm750fb/sm750.c
412
struct sm750_dev *sm750_dev;
drivers/staging/sm750fb/sm750.c
414
sm750_dev = dev_get_drvdata(dev);
drivers/staging/sm750fb/sm750.c
417
info = sm750_dev->fbinfo[0];
drivers/staging/sm750fb/sm750.c
421
info = sm750_dev->fbinfo[1];
drivers/staging/sm750fb/sm750.c
434
struct sm750_dev *sm750_dev;
drivers/staging/sm750fb/sm750.c
440
sm750_dev = pci_get_drvdata(pdev);
drivers/staging/sm750fb/sm750.c
444
hw_sm750_inithw(sm750_dev, pdev);
drivers/staging/sm750fb/sm750.c
446
info = sm750_dev->fbinfo[0];
drivers/staging/sm750fb/sm750.c
458
info = sm750_dev->fbinfo[1];
drivers/staging/sm750fb/sm750.c
579
struct sm750_dev *sm750_dev;
drivers/staging/sm750fb/sm750.c
586
sm750_dev = par->dev;
drivers/staging/sm750fb/sm750.c
588
if (sm750_dev->revid == SM750LE_REVISION_ID)
drivers/staging/sm750fb/sm750.c
597
struct sm750_dev *sm750_dev;
drivers/staging/sm750fb/sm750.c
603
sm750_dev = par->dev;
drivers/staging/sm750fb/sm750.c
607
crtc->vidmem_size = sm750_dev->vidmem_size;
drivers/staging/sm750fb/sm750.c
608
if (sm750_dev->fb_count > 1)
drivers/staging/sm750fb/sm750.c
612
sm750_dev->hw_cursor = g_hwcursor;
drivers/staging/sm750fb/sm750.c
620
sm750_dev->accel.de_wait = (sm750_dev->revid == SM750LE_REVISION_ID) ?
drivers/staging/sm750fb/sm750.c
622
switch (sm750_dev->dataflow) {
drivers/staging/sm750fb/sm750.c
627
crtc->v_screen = sm750_dev->pvMem;
drivers/staging/sm750fb/sm750.c
634
crtc->v_screen = sm750_dev->pvMem;
drivers/staging/sm750fb/sm750.c
641
crtc->v_screen = sm750_dev->pvMem;
drivers/staging/sm750fb/sm750.c
646
crtc->o_screen = sm750_dev->vidmem_size >> 1;
drivers/staging/sm750fb/sm750.c
647
crtc->v_screen = sm750_dev->pvMem + crtc->o_screen;
drivers/staging/sm750fb/sm750.c
655
crtc->v_screen = sm750_dev->pvMem;
drivers/staging/sm750fb/sm750.c
662
crtc->o_screen = sm750_dev->vidmem_size >> 1;
drivers/staging/sm750fb/sm750.c
663
crtc->v_screen = sm750_dev->pvMem + crtc->o_screen;
drivers/staging/sm750fb/sm750.c
727
struct sm750_dev *sm750_dev;
drivers/staging/sm750fb/sm750.c
751
sm750_dev = par->dev;
drivers/staging/sm750fb/sm750.c
767
crtc->cursor.mmio = sm750_dev->pvReg +
drivers/staging/sm750fb/sm750.c
774
crtc->cursor.vstart = sm750_dev->pvMem + crtc->cursor.offset;
drivers/staging/sm750fb/sm750.c
781
if (!sm750_dev->accel_off) {
drivers/staging/sm750fb/sm750.c
867
fix->smem_start = crtc->o_screen + sm750_dev->vidmem_start;
drivers/staging/sm750fb/sm750.c
880
fix->mmio_start = sm750_dev->vidreg_start;
drivers/staging/sm750fb/sm750.c
882
fix->mmio_len = sm750_dev->vidreg_size;
drivers/staging/sm750fb/sm750.c
914
static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src)
drivers/staging/sm750fb/sm750.c
921
sm750_dev->init_parm.chip_clk = 0;
drivers/staging/sm750fb/sm750.c
922
sm750_dev->init_parm.mem_clk = 0;
drivers/staging/sm750fb/sm750.c
923
sm750_dev->init_parm.master_clk = 0;
drivers/staging/sm750fb/sm750.c
924
sm750_dev->init_parm.powerMode = 0;
drivers/staging/sm750fb/sm750.c
925
sm750_dev->init_parm.setAllEngOff = 0;
drivers/staging/sm750fb/sm750.c
926
sm750_dev->init_parm.resetMemory = 1;
drivers/staging/sm750fb/sm750.c
932
dev_warn(&sm750_dev->pdev->dev, "no specific g_option.\n");
drivers/staging/sm750fb/sm750.c
937
dev_info(&sm750_dev->pdev->dev, "opt=%s\n", opt);
drivers/staging/sm750fb/sm750.c
938
dev_info(&sm750_dev->pdev->dev, "src=%s\n", src);
drivers/staging/sm750fb/sm750.c
943
sm750_dev->nocrt = 1;
drivers/staging/sm750fb/sm750.c
945
sm750_dev->pnltype = sm750_doubleTFT;
drivers/staging/sm750fb/sm750.c
947
sm750_dev->pnltype = sm750_dualTFT;
drivers/staging/sm750fb/sm750.c
949
sm750_dev->pnltype = sm750_24TFT;
drivers/staging/sm750fb/sm750.c
959
dev_info(&sm750_dev->pdev->dev,
drivers/staging/sm750fb/sm750.c
963
dev_info(&sm750_dev->pdev->dev,
drivers/staging/sm750fb/sm750.c
966
dev_warn(&sm750_dev->pdev->dev, "How many view you wann set?\n");
drivers/staging/sm750fb/sm750.c
972
if (sm750_dev->revid != SM750LE_REVISION_ID) {
drivers/staging/sm750fb/sm750.c
973
if (sm750_dev->fb_count > 1) {
drivers/staging/sm750fb/sm750.c
975
sm750_dev->dataflow = sm750_dual_swap;
drivers/staging/sm750fb/sm750.c
977
sm750_dev->dataflow = sm750_dual_normal;
drivers/staging/sm750fb/sm750.c
980
sm750_dev->dataflow = sm750_simul_sec;
drivers/staging/sm750fb/sm750.c
982
sm750_dev->dataflow = sm750_simul_pri;
drivers/staging/sm750fb/sm750.c
986
sm750_dev->dataflow = sm750_simul_sec;
drivers/staging/sm750fb/sm750.c
988
sm750_dev->nocrt = 0;
drivers/staging/sm750fb/sm750.c
992
static void sm750fb_framebuffer_release(struct sm750_dev *sm750_dev)
drivers/staging/sm750fb/sm750.c
996
while (sm750_dev->fb_count) {
drivers/staging/sm750fb/sm750.c
997
fb_info = sm750_dev->fbinfo[sm750_dev->fb_count - 1];
drivers/staging/sm750fb/sm750.h
181
struct sm750_dev *dev;
drivers/staging/sm750fb/sm750.h
192
int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev);
drivers/staging/sm750fb/sm750.h
193
int hw_sm750_inithw(struct sm750_dev *sm750_dev, struct pci_dev *pdev);
drivers/staging/sm750fb/sm750.h
194
void hw_sm750_init_accel(struct sm750_dev *sm750_dev);
drivers/staging/sm750fb/sm750_hw.c
107
ddk750_init_hw((struct initchip_param *)&sm750_dev->init_parm);
drivers/staging/sm750fb/sm750_hw.c
109
if (sm750_dev->devid == 0x718) {
drivers/staging/sm750fb/sm750_hw.c
117
if (sm750_dev->nocrt) {
drivers/staging/sm750fb/sm750_hw.c
136
switch (sm750_dev->pnltype) {
drivers/staging/sm750fb/sm750_hw.c
175
if (!sm750_dev->accel_off)
drivers/staging/sm750fb/sm750_hw.c
176
hw_sm750_init_accel(sm750_dev);
drivers/staging/sm750fb/sm750_hw.c
225
struct sm750_dev *sm750_dev;
drivers/staging/sm750fb/sm750_hw.c
228
sm750_dev = par->dev;
drivers/staging/sm750fb/sm750_hw.c
235
if (sm750_dev->revid == SM750LE_REVISION_ID) {
drivers/staging/sm750fb/sm750_hw.c
256
struct sm750_dev *sm750_dev;
drivers/staging/sm750fb/sm750_hw.c
261
sm750_dev = par->dev;
drivers/staging/sm750fb/sm750_hw.c
263
if (!sm750_dev->accel_off) {
drivers/staging/sm750fb/sm750_hw.c
277
sm750_hw_set2dformat(&sm750_dev->accel, fmt);
drivers/staging/sm750fb/sm750_hw.c
28
int hw_sm750_map(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
drivers/staging/sm750fb/sm750_hw.c
34
sm750_dev->vidreg_start = pci_resource_start(pdev, 1);
drivers/staging/sm750fb/sm750_hw.c
35
sm750_dev->vidreg_size = SZ_2M;
drivers/staging/sm750fb/sm750_hw.c
37
pr_info("mmio phyAddr = %lx\n", sm750_dev->vidreg_start);
drivers/staging/sm750fb/sm750_hw.c
47
sm750_dev->pvReg =
drivers/staging/sm750fb/sm750_hw.c
477
void hw_sm750_init_accel(struct sm750_dev *sm750_dev)
drivers/staging/sm750fb/sm750_hw.c
48
ioremap(sm750_dev->vidreg_start, sm750_dev->vidreg_size);
drivers/staging/sm750fb/sm750_hw.c
49
if (!sm750_dev->pvReg) {
drivers/staging/sm750fb/sm750_hw.c
504
sm750_dev->accel.de_init(&sm750_dev->accel);
drivers/staging/sm750fb/sm750_hw.c
54
pr_info("mmio virtual addr = %p\n", sm750_dev->pvReg);
drivers/staging/sm750fb/sm750_hw.c
56
sm750_dev->accel.dpr_base = sm750_dev->pvReg + DE_BASE_ADDR_TYPE1;
drivers/staging/sm750fb/sm750_hw.c
57
sm750_dev->accel.dp_port_base = sm750_dev->pvReg + DE_PORT_ADDR_TYPE1;
drivers/staging/sm750fb/sm750_hw.c
59
mmio750 = sm750_dev->pvReg;
drivers/staging/sm750fb/sm750_hw.c
60
sm750_set_chip_type(sm750_dev->devid, sm750_dev->revid);
drivers/staging/sm750fb/sm750_hw.c
62
sm750_dev->vidmem_start = pci_resource_start(pdev, 0);
drivers/staging/sm750fb/sm750_hw.c
69
sm750_dev->vidmem_size = ddk750_get_vm_size();
drivers/staging/sm750fb/sm750_hw.c
71
sm750_dev->vidmem_start, sm750_dev->vidmem_size);
drivers/staging/sm750fb/sm750_hw.c
74
sm750_dev->pvMem =
drivers/staging/sm750fb/sm750_hw.c
75
ioremap_wc(sm750_dev->vidmem_start, sm750_dev->vidmem_size);
drivers/staging/sm750fb/sm750_hw.c
76
if (!sm750_dev->pvMem) {
drivers/staging/sm750fb/sm750_hw.c
81
pr_info("video memory vaddr = %p\n", sm750_dev->pvMem);
drivers/staging/sm750fb/sm750_hw.c
86
iounmap(sm750_dev->pvReg);
drivers/staging/sm750fb/sm750_hw.c
92
int hw_sm750_inithw(struct sm750_dev *sm750_dev, struct pci_dev *pdev)
drivers/staging/sm750fb/sm750_hw.c
96
parm = &sm750_dev->init_parm;