亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? s3c2410fb.c

?? 嵌入式LCD屏驅(qū)動(dòng)
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
#include <linux/config.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/sched.h>#include <linux/errno.h>#include <linux/string.h>#include <linux/interrupt.h>#include <linux/slab.h>#include <linux/fb.h>#include <linux/delay.h>#include <linux/pm.h>#include <linux/init.h>#include <asm/hardware.h>#include <asm/io.h>#include <asm/irq.h>#include <asm/mach-types.h>#include <asm/uaccess.h>#include <video/fbcon.h>#include <video/fbcon-mfb.h>#include <video/fbcon-cfb4.h>#include <video/fbcon-cfb8.h>#include <video/fbcon-cfb16.h>#include "s3c2410fb.h"void (*s3c2410fb_blank_helper)(int blank);EXPORT_SYMBOL(s3c2410fb_blank_helper);/*  * CONFIG_FB_S3C2410_EMUL * * 浼欏繁 鐐キ鐨嬪鉤鑳?? : 96*320 淇婇紦楗崬璁?  * *  var.xres = 96 鏍忚偤 紿嶇粖, *  fix.line_length = 240*2 鑲?鑼勪績(jī). *  app 鍟?linux FB spec. 闃?闇栬崘鑼勪績(jī)鎼?宸╁姏鍟?緇濋槕 宸存崬淇? * *  var.xres_virtual 闃?鐐兼播紿嶇話 瑙勮繃妗?縐樋縐?鏉?鑽?涔愮槫鐖? spec. 鑻炵話 鍠婃。鑲? *  app. 鍟?鍐蟲(chóng)病 搴﹀害縐﹀叿 涓?鎸ョ埗 閰掕仾鎵? panning/wrapping 鑻?閮ㄨ??鍫Θ鍟? *  涔愭爮楠ㄨ偤 紜呭姏鑼勪績(jī). *///#define CONFIG_S3C2410_SMDK_800480_WHL//#define CONFIG_S3C2410_SMDK_640480//#define CONFIG_S3C2410_SMDK_320240//#define CONFIG_S3C2410_SMDK_STN_640480#define CONFIG_S3C2410_SMDK_240320//#define CONFIG_S3C2410_SMDK_800600#ifdef CONFIG_S3C2410_SMDK_STN_640480static struct s3c2410fb_rgb	rgb_8 = {	red:	{offset: 5, length: 3, },	green:	{offset: 2, length: 3, },	blue:	{offset: 0, length: 2, },	transp:	{offset: 0, length: 0, },};#elsestatic struct s3c2410fb_rgb	rgb_8 = {	red:	{offset: 0, length: 4, },	green:	{offset: 0, length: 4, },	blue:	{offset: 0, length: 4, },	transp:	{offset: 0, length: 0, },};#endifstatic struct s3c2410fb_rgb	def_rgb_16 = {    	red:	{offset: 11, length: 5, },	green:	{offset: 5,  length: 6, },	blue:	{offset: 0,  length: 5, },	transp:	{offset: 0,  length: 0, },};#if 0static struct s3c2410fb_rgb	xxx_tft_rgb_16 = {    	red:	{offset: 11,	length: 5, },	green:	{offset: 6,	length: 5, },	blue:	{offset: 1,	length: 5, },	transp:	{offset: 0,	length: 1, },};#elsestatic struct s3c2410fb_rgb	xxx_tft_rgb_16 = {    	red:	{offset: 11,	length: 5, },	green:	{offset: 5,	length: 6, },	blue:	{offset: 0,	length: 5, },	transp:	{offset: 0,	length: 0, },};#endif#if 0#ifdef CONFIG_S3C2410_SMDKstatic struct s3c2410fb_mach_info xxx_stn_info __initdata = {    	pixclock:	174757,		bpp:		16,#ifdef CONFIG_FB_S3C2410_EMUL	xres:		96,#else	xres:		240,#endif	yres:		320,	hsync_len   :  5,    vsync_len    :  1,	left_margin :  7,    upper_margin :  1,	right_margin:  3,    lower_margin :  3,	sync:		0,		cmap_static:	1,	reg : {		lcdcon1 : LCD1_BPP_16T | LCD1_PNR_TFT | LCD1_CLKVAL(1) ,		lcdcon2 : LCD2_VBPD(1) | LCD2_VFPD(2) | LCD2_VSPW(1),		lcdcon3 : LCD3_HBPD(6) | LCD3_HFPD(2),		lcdcon4 : LCD4_HSPW(4) | LCD4_MVAL(13),		lcdcon5 : LCD5_FRM565 | LCD5_INVVLINE | LCD5_INVVFRAME | LCD5_HWSWP | LCD5_PWREN,	},};#endif#else#ifdef CONFIG_S3C2410_SMDK_640480static struct s3c2410fb_mach_info xxx_stn_info __initdata = {    	pixclock:	39721,		bpp:		16,#ifdef CONFIG_FB_S3C2410_EMUL	xres:		96,#else	xres:		640,#endif	yres:		480,	hsync_len   :  96,    vsync_len    :  2,	left_margin :  40,    upper_margin :  24,	right_margin:  32,    lower_margin :  11,	sync:		0,		cmap_static:	1,	reg : {		lcdcon1 : LCD1_BPP_16T | LCD1_PNR_TFT | LCD1_CLKVAL(1) ,		lcdcon2 : LCD2_VBPD(32) | LCD2_VFPD(9) | LCD2_VSPW(1),		lcdcon3 : LCD3_HBPD(47) | LCD3_HFPD(15),		lcdcon4 : LCD4_HSPW(95) | LCD4_MVAL(13),		lcdcon5 : LCD5_FRM565 | LCD5_INVVLINE | LCD5_INVVFRAME | LCD5_HWSWP | LCD5_PWREN,	},};#endif#ifdef CONFIG_S3C2410_SMDK_800600static struct s3c2410fb_mach_info xxx_stn_info __initdata = {    	pixclock:	39721,		bpp:		16,#ifdef CONFIG_FB_S3C2410_EMUL	xres:		96,#else	xres:		800,#endif	yres:		600,	hsync_len   :  96,    vsync_len    :  2,	left_margin :  40,    upper_margin :  24,	right_margin:  32,    lower_margin :  11,	sync:		0,		cmap_static:	1,	reg : {		lcdcon1 : LCD1_BPP_16T | LCD1_PNR_TFT | LCD1_CLKVAL(1) ,		lcdcon2 : LCD2_VBPD(3) | LCD2_VFPD(2) | LCD2_VSPW(2),		lcdcon3 : LCD3_HBPD(28) | LCD3_HFPD(50),		lcdcon4 : LCD4_HSPW(15) | LCD4_MVAL(13),		lcdcon5 : LCD5_FRM565 | LCD5_INVVLINE | LCD5_INVVFRAME | LCD5_HWSWP | LCD5_PWREN,	},};#endif#ifdef CONFIG_S3C2410_SMDK_800480_WHLstatic struct s3c2410fb_mach_info xxx_stn_info __initdata = {    	pixclock:	39721,		bpp:		16,#ifdef CONFIG_FB_S3C2410_EMUL	xres:		96,#else	xres:		800,#endif	yres:		480,	hsync_len   :  96,    vsync_len    :  2,	left_margin :  40,    upper_margin :  24,	right_margin:  32,    lower_margin :  11,	sync:		0,		cmap_static:	1,	reg : {		lcdcon1 : LCD1_BPP_16T | LCD1_PNR_TFT | LCD1_CLKVAL(1) ,		lcdcon2 : LCD2_VBPD(39) | LCD2_VFPD(19) | LCD2_VSPW(3),		lcdcon3 : LCD3_HBPD(49) | LCD3_HFPD(19),		lcdcon4 : LCD4_HSPW(99) | LCD4_MVAL(13),		lcdcon5 : LCD5_FRM565 | LCD5_INVVLINE | LCD5_INVVFRAME | LCD5_HWSWP | LCD5_PWREN,	},};#endif#ifdef CONFIG_S3C2410_SMDK_320240static struct s3c2410fb_mach_info xxx_stn_info __initdata = {    	pixclock:	39721,		bpp:		16,#ifdef CONFIG_FB_S3C2410_EMUL	xres:		96,#else	xres:		320,#endif	yres:		240,	hsync_len   :  5,    vsync_len    :  1,	left_margin :  7,    upper_margin :  1,	right_margin:  3,    lower_margin :  3,	sync:		0,		cmap_static:	1,	reg : {		lcdcon1 : LCD1_BPP_16T | LCD1_PNR_TFT | LCD1_CLKVAL(5) ,		lcdcon2 : LCD2_VBPD(1) | LCD2_VFPD(2) | LCD2_VSPW(1),		lcdcon3 : LCD3_HBPD(49) | LCD3_HFPD(15),		lcdcon4 : LCD4_HSPW(13) | LCD4_MVAL(13),		lcdcon5 : LCD5_FRM565 | LCD5_INVVLINE | LCD5_INVVFRAME | LCD5_HWSWP | LCD5_PWREN,	},};#endif#ifdef CONFIG_S3C2410_SMDK_240320static struct s3c2410fb_mach_info xxx_stn_info __initdata = {    	pixclock:	39721,		bpp:		16,#ifdef CONFIG_FB_S3C2410_EMUL	xres:		96,#else	xres:		240,#endif	yres:		320,	/*hsync_len   :  5,    vsync_len    :  1,	left_margin :  7,    upper_margin :  1,	right_margin:  3,    lower_margin :  3,	sync:		0,		cmap_static:	1,	reg : {		lcdcon1 : LCD1_BPP_16T | LCD1_PNR_TFT | LCD1_CLKVAL(6) ,		lcdcon2 : LCD2_VBPD(1) | LCD2_VFPD(2) | LCD2_VSPW(1),		lcdcon3 : LCD3_HBPD(6) | LCD3_HFPD(2),		lcdcon4 : LCD4_HSPW(3) | LCD4_MVAL(13),		lcdcon5 : LCD5_FRM565 | LCD5_INVVLINE | LCD5_INVVFRAME | LCD5_HWSWP | LCD5_PWREN,	},*/		hsync_len   :  5,    vsync_len    :  1,	left_margin :  7,    upper_margin :  1,	right_margin:  3,    lower_margin :  3,	sync:		0,		cmap_static:	1,	reg : {		/*lcdcon1 : LCD1_BPP_16T | LCD1_PNR_TFT | LCD1_CLKVAL(2) ,		lcdcon2 : LCD2_VBPD(7) | LCD2_VFPD(16) | LCD2_VSPW(1),		lcdcon3 : LCD3_HBPD(16) | LCD3_HFPD(8),		lcdcon4 : LCD4_HSPW(65) | LCD4_MVAL(13),		lcdcon5 : LCD5_FRM565 | LCD5_INVVLINE | LCD5_INVVFRAME | LCD5_HWSWP | LCD5_PWREN,*/		lcdcon1 : LCD1_BPP_16T | LCD1_PNR_TFT | LCD1_CLKVAL(6) ,		lcdcon2 : LCD2_VBPD(7) | LCD2_VFPD(2) | LCD2_VSPW(1),		lcdcon3 : LCD3_HBPD(49) | LCD3_HFPD(15),		lcdcon4 : LCD4_HSPW(13) | LCD4_MVAL(13),		lcdcon5 : LCD5_FRM565 | LCD5_INVVLINE | LCD5_INVVFRAME | LCD5_HWSWP | LCD5_PWREN,	},		/*hsync_len   :  96,    vsync_len    :  2,	left_margin :  40,    upper_margin :  24,	right_margin:  32,    lower_margin :  11,	sync:		0,		cmap_static:	1,	reg : {		lcdcon1 : LCD1_BPP_16T | LCD1_PNR_TFT | LCD1_CLKVAL(1) ,		lcdcon2 : LCD2_VBPD(32) | LCD2_VFPD(9) | LCD2_VSPW(1),		lcdcon3 : LCD3_HBPD(47) | LCD3_HFPD(15),		lcdcon4 : LCD4_HSPW(95) | LCD4_MVAL(13),		lcdcon5 : LCD5_FRM565 | LCD5_INVVLINE | LCD5_INVVFRAME | LCD5_HWSWP | LCD5_PWREN,	},*/};#endif#ifdef CONFIG_S3C2410_SMDK_STN_640480static struct s3c2410fb_mach_info xxx_stn_info __initdata = {    	pixclock:	39721,		bpp:		8,#ifdef CONFIG_FB_S3C2410_EMUL	xres:		96,#else	xres:		640,#endif	yres:		480,	hsync_len   :  5,    vsync_len    :  1,	left_margin :  7,    upper_margin :  1,	right_margin:  3,    lower_margin :  3,	sync:		0,		cmap_static:	1,	reg : {		lcdcon1 : LCD1_BPP_8S | LCD1_PNR_8S | LCD1_CLKVAL(8) ,		lcdcon2 : LCD2_LINEVAL(479),		lcdcon3 : LCD3_WDLY_128 | LCD3_HOZVAL(640*3/8 -1) | 32,		lcdcon4 : LCD4_MVAL(13) | LCD4_WLH(3),		lcdcon5 : LCD5_BSWP,	},};#endif#endifstatic inline u_intchan_to_field(u_int chan, struct fb_bitfield *bf){    chan &= 0xffff;    //chan >>= 16 - bf->length;    //return chan << bf->offset;    chan >>= 16 - bf->offset;    return chan << bf->length;}/* * Convert bits-per-pixel to a hardware palette PBS value. */static inline u_intpalette_pbs(struct fb_var_screeninfo *var){   int ret = 0;   switch (var->bits_per_pixel) {#ifdef FBCON_HAS_CFB4      case 4:  ret = 0 << 12; break;#endif#ifdef FBCON_HAS_CFB8      case 8:  ret = 1 << 12; break;#endif#ifdef FBCON_HAS_CFB16      case 16: ret = 2 << 12; break;#endif   }   return ret;}#ifdef CONFIG_S3C2410_SMDK_STN_640480static struct s3c2410fb_mach_info * __inits3c2410fb_get_machine_info(struct s3c2410fb_info *fbi){    struct s3c2410fb_mach_info *inf = NULL;    inf = &xxx_stn_info;	fbi->reg = inf->reg;    fbi->rgb[RGB_8] = &rgb_8;    return inf;}#elsestatic struct s3c2410fb_mach_info * __inits3c2410fb_get_machine_info(struct s3c2410fb_info *fbi){    struct s3c2410fb_mach_info *inf = NULL;    inf = &xxx_stn_info;	fbi->reg = inf->reg;    fbi->rgb[RGB_16] = &xxx_tft_rgb_16;    return inf;}#endifstatic inline struct fb_var_screeninfo *get_con_var(struct fb_info *info, int con){    struct s3c2410fb_info *fbi = (struct s3c2410fb_info *)info;    return (con == fbi->currcon || con == -1) ? &fbi->fb.var : &fb_display[con].var;}static inline struct fb_cmap *get_con_cmap(struct fb_info *info, int con){    struct s3c2410fb_info *fbi = (struct s3c2410fb_info *)info;    return (con == fbi->currcon || con == -1) ? &fbi->fb.cmap : &fb_display[con].cmap;}static inline struct display *get_con_display(struct fb_info *info, int con){    struct s3c2410fb_info *fbi = (struct s3c2410fb_info *)info;    return (con < 0) ? (fbi->fb.disp) : &(fb_display[con]);}static ints3c2410fb_validate_var(struct fb_var_screeninfo *var,			      struct s3c2410fb_info *fbi){    int ret = -EINVAL;    if (var->xres < MIN_XRES)		var->xres = MIN_XRES;    if (var->yres < MIN_YRES)		var->yres = MIN_YRES;    if (var->xres > fbi->max_xres)		var->xres = fbi->max_xres;    if (var->yres > fbi->max_yres)		var->yres = fbi->max_yres;    var->xres_virtual =	var->xres_virtual < var->xres ? var->xres : var->xres_virtual;    var->yres_virtual = 	var->yres_virtual < var->yres ? var->yres : var->yres_virtual;    switch(var->bits_per_pixel) {#ifdef FBCON_HAS_CFB4	case 4:		ret = 0; break;#endif#ifdef FBCON_HAS_CFB8	case 8:		ret = 0; break;#endif#ifdef FBCON_HAS_CFB16	case 16:	ret = 0; break;#endif	default:			break;    }    return ret;}static ints3c2410fb_setpalettereg(u_int regno, u_int red, u_int green, u_int blue,			u_int trans, struct fb_info *info){    struct s3c2410fb_info *fbi = (struct s3c2410fb_info *)info;    u_int val, ret = 1;    if (regno < fbi->palette_size) {#ifndef CONFIG_S3C2400_GAMEPARK	val = ((red >> 4) & 0xf00);	val |= ((green >> 8) & 0x0f0);	val |= ((blue >> 12) & 0x00f);#else	val = ((blue >> 16) & 0x001f);    val |= ((green >> 11) & 0x07e0);    val |= ((red >> 5) & 0x0f800);	val |= 1; /* intensity bit */#endif		if (regno == 0)	    val |= palette_pbs(&fbi->fb.var);	fbi->palette_cpu[regno] = val;	ret = 0;    }    return ret;}static ints3c2410fb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,		    u_int trans, struct fb_info *info){    struct s3c2410fb_info *fbi = (struct s3c2410fb_info *)info;    struct display *disp = get_con_display(info, fbi->currcon);    u_int var;    int ret = 1;    if (disp->inverse) {	red 	= 0xffff - red;	green 	= 0xffff - green;	blue	= 0xffff - blue;    }    if (fbi->fb.var.grayscale) 	red = green = blue = (19595 * red + 38470 * green + 7471 * blue) >> 16;    switch (fbi->fb.disp->visual) {	case FB_VISUAL_TRUECOLOR:	    if (regno < 16) {		u16 *pal = fbi->fb.pseudo_palette;		var = chan_to_field(red, &fbi->fb.var.red);		var |= chan_to_field(green, &fbi->fb.var.green);		var |= chan_to_field(blue, &fbi->fb.var.blue);		pal[regno] = var;		ret = 0;	    }	    break;	case FB_VISUAL_STATIC_PSEUDOCOLOR:	case FB_VISUAL_PSEUDOCOLOR:	    ret = s3c2410fb_setpalettereg(regno, red, green, blue, trans, info);	    break;    }    return ret;}static int s3c2410fb_activate_var(struct fb_var_screeninfo *var, struct s3c2410fb_info *fbi){    struct s3c2410fb_lcd_reg new_regs;    u_int half_screen_size, yres;    u_long flags;    /*new_reg 鍟?緇㈠綍緇?鍘嗗綍緇?*/    unsigned long VideoPhysicalTemp = fbi->screen_dma;    save_flags_cli(flags);    new_regs.lcdcon1 = fbi->reg.lcdcon1 & ~LCD1_ENVID;        new_regs.lcdcon2 = (fbi->reg.lcdcon2 & ~LCD2_LINEVAL_MSK) 						| LCD2_LINEVAL(var->yres - 1);        #ifdef CONFIG_S3C2410_SMDK_STN_640480    new_regs.lcdcon3 = fbi->reg.lcdcon3;	    #else    /* TFT LCD only ! */    new_regs.lcdcon3 = (fbi->reg.lcdcon3 & ~LCD3_HOZVAL_MSK)						| LCD3_HOZVAL(var->xres - 1);    #endif	    new_regs.lcdcon4 = fbi->reg.lcdcon4;    new_regs.lcdcon5 = fbi->reg.lcdcon5;            #ifdef CONFIG_S3C2410_SMDK_STN_640480    new_regs.lcdsaddr1 = 		LCDADDR_BANK(((unsigned long)VideoPhysicalTemp >> 22))		| LCDADDR_BASEU(((unsigned long)VideoPhysicalTemp >> 1));	/* 16bpp */    new_regs.lcdsaddr2 = LCDADDR_BASEL( 		((unsigned long)VideoPhysicalTemp + (var->xres * (var->yres/*-1*/)))		>> 1);    new_regs.lcdsaddr3 = LCDADDR_OFFSET(0) | (LCDADDR_PAGE(var->xres) >> 1);    #else    new_regs.lcdsaddr1 = 		LCDADDR_BANK(((unsigned long)VideoPhysicalTemp >> 22))		| LCDADDR_BASEU(((unsigned long)VideoPhysicalTemp >> 1));	/* 16bpp */    new_regs.lcdsaddr2 = LCDADDR_BASEL( 		((unsigned long)VideoPhysicalTemp + (var->xres * 2 * (var->yres/*-1*/)))		>> 1);    new_regs.lcdsaddr3 = LCDADDR_OFFSET(0) | (LCDADDR_PAGE(var->xres) /*>> 1*/);    #endif        yres = var->yres;    /* if ( dual 鎹炴悂) */    //yres /= 2;    half_screen_size = var->bits_per_pixel;    //half_screen_size = half_screen_size * var->xres * var->yres / 16;    half_screen_size = half_screen_size * var->xres * var->yres / 8;	fbi->reg.lcdcon1 = new_regs.lcdcon1;	fbi->reg.lcdcon2 = new_regs.lcdcon2;	fbi->reg.lcdcon3 = new_regs.lcdcon3;	fbi->reg.lcdcon4 = new_regs.lcdcon4;	fbi->reg.lcdcon5 = new_regs.lcdcon5;	fbi->reg.lcdsaddr1 = new_regs.lcdsaddr1;	fbi->reg.lcdsaddr2 = new_regs.lcdsaddr2;	fbi->reg.lcdsaddr3 = new_regs.lcdsaddr3;    LCDCON1 = fbi->reg.lcdcon1;    LCDCON2 = fbi->reg.lcdcon2;    LCDCON3 = fbi->reg.lcdcon3;    LCDCON4 = fbi->reg.lcdcon4;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产福利视频一区二区三区| 亚洲va国产天堂va久久en| 日本中文字幕不卡| 成人久久视频在线观看| 91精品欧美久久久久久动漫| 国产精品高潮久久久久无| 日本sm残虐另类| 色播五月激情综合网| 国产亚洲一二三区| 日韩在线一区二区三区| 91小视频在线观看| 久久精品一二三| 毛片基地黄久久久久久天堂| 色婷婷香蕉在线一区二区| 国产免费久久精品| 久久99日本精品| 欧美日韩国产综合久久| 国产精品伦理在线| 国产一区二区视频在线播放| 777久久久精品| 亚洲一级不卡视频| 99国产欧美另类久久久精品| 国产亚洲精品bt天堂精选| 麻豆久久一区二区| 欧美妇女性影城| 一区二区三区毛片| 91在线精品一区二区三区| 久久精品欧美一区二区三区不卡 | 亚洲一区影音先锋| av在线这里只有精品| 久久精品一区二区三区四区| 九色综合国产一区二区三区| 91精品综合久久久久久| 亚洲国产欧美日韩另类综合| 一本一道综合狠狠老| 亚洲欧美综合另类在线卡通| 成人黄色av电影| 日本一区二区久久| 国产黄人亚洲片| 久久久久久黄色| 国产一区激情在线| 久久先锋资源网| 国产在线视频不卡二| 精品少妇一区二区三区日产乱码 | 一区二区在线观看视频在线观看| 成人app网站| 亚洲欧洲在线观看av| 成人免费的视频| 国产精品夫妻自拍| 91麻豆视频网站| 亚洲精品免费在线播放| 色哟哟一区二区| 一区二区激情小说| 欧美日韩一区二区在线观看视频 | 亚洲国产一区在线观看| 欧美无乱码久久久免费午夜一区 | 亚洲欧美日韩国产一区二区三区| 99国产精品久久久| 一区二区在线免费观看| 欧美日韩一二三| 日韩国产精品91| 精品入口麻豆88视频| 国产一区二区福利视频| 国产欧美一二三区| 91小宝寻花一区二区三区| 亚洲午夜三级在线| 欧美肥胖老妇做爰| 久久91精品国产91久久小草 | 日本丶国产丶欧美色综合| 亚洲一区在线观看免费观看电影高清| 欧美日韩黄视频| 黑人巨大精品欧美一区| 亚洲国产精品成人综合色在线婷婷 | 亚洲九九爱视频| 欧美日韩一区三区四区| 久久国产日韩欧美精品| 国产精品系列在线| 日本道在线观看一区二区| 日韩电影免费在线看| 精品成人一区二区三区四区| 国产成人鲁色资源国产91色综| 亚洲欧美在线另类| 欧美女孩性生活视频| 狠狠色丁香久久婷婷综| 亚洲视频免费在线观看| 欧美日韩国产大片| 国产成人亚洲综合a∨婷婷| 亚洲乱码中文字幕| 欧美一级国产精品| 不卡av在线免费观看| 香蕉av福利精品导航| 国产亚洲精品aa午夜观看| 91福利社在线观看| 国产做a爰片久久毛片| 亚洲视频小说图片| 日韩欧美国产综合一区 | 香蕉影视欧美成人| 精品国产凹凸成av人网站| 97精品久久久午夜一区二区三区| 天涯成人国产亚洲精品一区av| 久久伊人蜜桃av一区二区| 91蝌蚪porny| 久久99精品国产| 一个色在线综合| 久久青草欧美一区二区三区| 日本伦理一区二区| 国产高清视频一区| 香蕉av福利精品导航| 国产精品久久久久久久久快鸭| 在线成人免费视频| av午夜一区麻豆| 麻豆精品在线观看| 一区二区三区美女| 亚洲国产电影在线观看| 在线不卡一区二区| 色欧美片视频在线观看| 国产一区二区主播在线| 五月综合激情婷婷六月色窝| 日本一区二区成人在线| 欧美电视剧在线看免费| 欧洲亚洲精品在线| 粉嫩av亚洲一区二区图片| 免费在线观看视频一区| 一区av在线播放| 国产精品色在线观看| 欧美mv和日韩mv的网站| 欧美久久久久中文字幕| jizzjizzjizz欧美| 国产一区二区三区香蕉| 日韩精品一二三区| 一区二区高清在线| 亚洲视频在线观看三级| 国产日韩欧美综合一区| 日韩欧美一级二级| 欧美日韩国产中文| 欧美亚洲一区二区在线观看| av不卡一区二区三区| 国产激情精品久久久第一区二区| 男人操女人的视频在线观看欧美| 亚洲专区一二三| 亚洲日本护士毛茸茸| 中文字幕欧美三区| 精品粉嫩aⅴ一区二区三区四区| 欧美精品在线一区二区三区| 在线观看国产日韩| 91麻豆免费观看| 成人国产一区二区三区精品| 国产福利一区二区三区| 韩日欧美一区二区三区| 久久99深爱久久99精品| 老司机精品视频一区二区三区| 日韩二区三区四区| 天天影视网天天综合色在线播放| 亚洲三级电影全部在线观看高清| 国产精品亲子伦对白| 国产欧美精品一区aⅴ影院| 久久精子c满五个校花| 久久蜜桃香蕉精品一区二区三区| 日韩精品综合一本久道在线视频| 91麻豆精品国产91久久久资源速度| 欧美日韩视频在线第一区| 欧美亚洲高清一区二区三区不卡| 色香蕉成人二区免费| 色综合久久六月婷婷中文字幕| 成人av影院在线| av在线不卡电影| 一本大道av伊人久久综合| 91亚洲国产成人精品一区二区三| 一本大道综合伊人精品热热| 欧美在线看片a免费观看| 欧美午夜电影一区| 欧美日本国产视频| 91麻豆精品国产91久久久久久| 日韩三区在线观看| 26uuuu精品一区二区| 国产欧美视频一区二区三区| 国产欧美日韩不卡免费| 国产精品欧美久久久久无广告 | 国产欧美视频一区二区| 国产精品久久久久久久久动漫| 国产精品美女久久久久久2018| 国产精品福利一区| 亚洲最新视频在线观看| 天堂资源在线中文精品| 老司机精品视频导航| 国产a精品视频| 91污片在线观看| 欧美人牲a欧美精品| 日韩一区二区三区免费观看| 久久免费精品国产久精品久久久久| 亚洲国产精品av| 亚洲国产视频网站| 麻豆高清免费国产一区| 国产白丝网站精品污在线入口| av亚洲精华国产精华精华| 欧美日韩一区二区三区高清| 欧美成人乱码一区二区三区| 国产精品免费aⅴ片在线观看| 亚洲va欧美va人人爽午夜| 狠狠色狠狠色合久久伊人|