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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? intel-mch-agp.c

?? Linux Kernel 2.6.9 for OMAP1710
?? C
?? 第 1 頁 / 共 2 頁
字號:
	return (0);}static struct agp_memory *intel_i830_alloc_by_type(size_t pg_count,int type){	if (type == AGP_PHYS_MEMORY)		return(alloc_agpphysmem_i8xx(pg_count, type));	/* always return NULL for other allocation types for now */	return(NULL);}static int intel_8xx_fetch_size(void){	u8 temp;	int i;	struct aper_size_info_8 *values;	pci_read_config_byte(agp_bridge->dev, INTEL_APSIZE, &temp);	values = A_SIZE_8(agp_bridge->driver->aperture_sizes);	for (i = 0; i < agp_bridge->driver->num_aperture_sizes; i++) {		if (temp == values[i].size_value) {			agp_bridge->previous_size =				agp_bridge->current_size = (void *) (values + i);			agp_bridge->aperture_size_idx = i;			return values[i].size;		}	}	return 0;}static void intel_8xx_tlbflush(struct agp_memory *mem){	u32 temp;	pci_read_config_dword(agp_bridge->dev, INTEL_AGPCTRL, &temp);	pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, temp & ~(1 << 7));	pci_read_config_dword(agp_bridge->dev, INTEL_AGPCTRL, &temp);	pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, temp | (1 << 7));}static void intel_8xx_cleanup(void){	u16 temp;	struct aper_size_info_8 *previous_size;	previous_size = A_SIZE_8(agp_bridge->previous_size);	pci_read_config_word(agp_bridge->dev, INTEL_NBXCFG, &temp);	pci_write_config_word(agp_bridge->dev, INTEL_NBXCFG, temp & ~(1 << 9));	pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, previous_size->size_value);}static int intel_845_configure(void){	u32 temp;	u8 temp2;	struct aper_size_info_8 *current_size;	current_size = A_SIZE_8(agp_bridge->current_size);	/* aperture size */	pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, current_size->size_value); 	/* address to map to */	pci_read_config_dword(agp_bridge->dev, AGP_APBASE, &temp);	agp_bridge->gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK);	/* attbase - aperture base */	pci_write_config_dword(agp_bridge->dev, INTEL_ATTBASE, agp_bridge->gatt_bus_addr); 	/* agpctrl */	pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); 	/* agpm */	pci_read_config_byte(agp_bridge->dev, INTEL_I845_AGPM, &temp2);	pci_write_config_byte(agp_bridge->dev, INTEL_I845_AGPM, temp2 | (1 << 1));	/* clear any possible error conditions */	pci_write_config_word(agp_bridge->dev, INTEL_I845_ERRSTS, 0x001c); 	return 0;}/* Setup function */static struct gatt_mask intel_generic_masks[] ={	{.mask = 0x00000017, .type = 0}};static struct aper_size_info_8 intel_8xx_sizes[7] ={	{256, 65536, 6, 0},	{128, 32768, 5, 32},	{64, 16384, 4, 48},	{32, 8192, 3, 56},	{16, 4096, 2, 60},	{8, 2048, 1, 62},	{4, 1024, 0, 63}};static struct agp_bridge_driver intel_830_driver = {	.owner			= THIS_MODULE,	.aperture_sizes		= intel_i830_sizes,	.size_type		= FIXED_APER_SIZE,	.num_aperture_sizes 	= 2,	.needs_scratch_page	= TRUE,	.configure		= intel_i830_configure,	.fetch_size		= intel_i830_fetch_size,	.cleanup		= intel_i830_cleanup,	.tlb_flush		= intel_i810_tlbflush,	.mask_memory		= intel_i810_mask_memory,	.masks			= intel_i810_masks,	.agp_enable		= intel_i810_agp_enable,	.cache_flush		= global_cache_flush,	.create_gatt_table	= intel_i830_create_gatt_table,	.free_gatt_table	= intel_i830_free_gatt_table,	.insert_memory		= intel_i830_insert_entries,	.remove_memory		= intel_i830_remove_entries,	.alloc_by_type		= intel_i830_alloc_by_type,	.free_by_type		= intel_i810_free_by_type,	.agp_alloc_page		= agp_generic_alloc_page,	.agp_destroy_page	= agp_generic_destroy_page,};static struct agp_bridge_driver intel_845_driver = {	.owner			= THIS_MODULE,	.aperture_sizes		= intel_8xx_sizes,	.size_type		= U8_APER_SIZE,	.num_aperture_sizes	= 7,	.configure		= intel_845_configure,	.fetch_size		= intel_8xx_fetch_size,	.cleanup		= intel_8xx_cleanup,	.tlb_flush		= intel_8xx_tlbflush,	.mask_memory		= agp_generic_mask_memory,	.masks			= intel_generic_masks,	.agp_enable		= agp_generic_enable,	.cache_flush		= global_cache_flush,	.create_gatt_table	= agp_generic_create_gatt_table,	.free_gatt_table	= agp_generic_free_gatt_table,	.insert_memory		= agp_generic_insert_memory,	.remove_memory		= agp_generic_remove_memory,	.alloc_by_type		= agp_generic_alloc_by_type,	.free_by_type		= agp_generic_free_by_type,	.agp_alloc_page		= agp_generic_alloc_page,	.agp_destroy_page	= agp_generic_destroy_page,};static int find_i830(u16 device){	struct pci_dev *i830_dev;	i830_dev = pci_find_device(PCI_VENDOR_ID_INTEL, device, NULL);	if (i830_dev && PCI_FUNC(i830_dev->devfn) != 0) {		i830_dev = pci_find_device(PCI_VENDOR_ID_INTEL,				device, i830_dev);	}	if (!i830_dev)		return 0;	intel_i830_private.i830_dev = i830_dev;	return 1;}static int __devinit agp_intelmch_probe(struct pci_dev *pdev,				     const struct pci_device_id *ent){	struct agp_bridge_data *bridge;	struct resource *r;	char *name = "(unknown)";	u8 cap_ptr = 0;	cap_ptr = pci_find_capability(pdev, PCI_CAP_ID_AGP);	if (!cap_ptr) 		return -ENODEV;	bridge = agp_alloc_bridge();	if (!bridge)		return -ENOMEM;	switch (pdev->device) {	case PCI_DEVICE_ID_INTEL_82865_HB:		if (find_i830(PCI_DEVICE_ID_INTEL_82865_IG)) {			bridge->driver = &intel_830_driver;		} else {			bridge->driver = &intel_845_driver;		}		name = "865";		break;	case PCI_DEVICE_ID_INTEL_82875_HB:		bridge->driver = &intel_845_driver;		name = "i875";		break;	default:		printk(KERN_ERR PFX "Unsupported Intel chipset (device id: %04x)\n",			    pdev->device);		return -ENODEV;	};	bridge->dev = pdev;	bridge->capndx = cap_ptr;	if (bridge->driver == &intel_830_driver)		bridge->dev_private_data = &intel_i830_private;	printk(KERN_INFO PFX "Detected an Intel %s Chipset.\n", name);	/*	* The following fixes the case where the BIOS has "forgotten" to	* provide an address range for the GART.	* 20030610 - hamish@zot.org	*/	r = &pdev->resource[0];	if (!r->start && r->end) {		if(pci_assign_resource(pdev, 0)) {			printk(KERN_ERR PFX "could not assign resource 0\n");			return (-ENODEV);		}	}	/*	* If the device has not been properly setup, the following will catch	* the problem and should stop the system from crashing.	* 20030610 - hamish@zot.org	*/	if (pci_enable_device(pdev)) {		printk(KERN_ERR PFX "Unable to Enable PCI device\n");		return (-ENODEV);	}	/* Fill in the mode register */	if (cap_ptr) {		pci_read_config_dword(pdev,				bridge->capndx+PCI_AGP_STATUS,				&bridge->mode);	}	pci_set_drvdata(pdev, bridge);	return agp_add_bridge(bridge);}static void __devexit agp_intelmch_remove(struct pci_dev *pdev){	struct agp_bridge_data *bridge = pci_get_drvdata(pdev);	agp_remove_bridge(bridge);	agp_put_bridge(bridge);}static int agp_intelmch_resume(struct pci_dev *pdev){	struct agp_bridge_data *bridge = pci_get_drvdata(pdev);		pci_restore_state(pdev, pdev->saved_config_space);	if (bridge->driver == &intel_845_driver)		intel_845_configure();	return 0;}static struct pci_device_id agp_intelmch_pci_table[] = {	{	.class		= (PCI_CLASS_BRIDGE_HOST << 8),	.class_mask	= ~0,	.vendor		= PCI_VENDOR_ID_INTEL,	.device		= PCI_DEVICE_ID_INTEL_82865_HB,	.subvendor	= PCI_ANY_ID,	.subdevice	= PCI_ANY_ID,	},	{	.class		= (PCI_CLASS_BRIDGE_HOST << 8),	.class_mask	= ~0,	.vendor		= PCI_VENDOR_ID_INTEL,	.device		= PCI_DEVICE_ID_INTEL_82875_HB,	.subvendor	= PCI_ANY_ID,	.subdevice	= PCI_ANY_ID,	},	{ }};MODULE_DEVICE_TABLE(pci, agp_intelmch_pci_table);static struct pci_driver agp_intelmch_pci_driver = {	.name		= "agpgart-intel-mch",	.id_table	= agp_intelmch_pci_table,	.probe		= agp_intelmch_probe,	.remove		= agp_intelmch_remove,	.resume		= agp_intelmch_resume,};/* intel_agp_init() must not be declared static for explicit   early initialization to work (ie i810fb) */int __init agp_intelmch_init(void){	static int agp_initialised=0;	if (agp_initialised == 1)		return 0;	agp_initialised=1;	return pci_module_init(&agp_intelmch_pci_driver);}static void __exit agp_intelmch_cleanup(void){	pci_unregister_driver(&agp_intelmch_pci_driver);}module_init(agp_intelmch_init);module_exit(agp_intelmch_cleanup);MODULE_AUTHOR("Dave Jones <davej@codemonkey.org.uk>");MODULE_LICENSE("GPL");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区视频| 欧美精品tushy高清| 国产情人综合久久777777| 另类小说欧美激情| 欧美一区二区三区电影| 美日韩一区二区三区| 精品区一区二区| 国产美女视频一区| 国产亲近乱来精品视频| 成a人片国产精品| 一区二区三区在线高清| 欧美日韩国产精品自在自线| 舔着乳尖日韩一区| 欧美va在线播放| 成人黄色av电影| 亚洲综合一二区| 日韩欧美国产电影| 成人免费av资源| 亚洲日本va午夜在线影院| 精品视频资源站| 国产一区二区伦理片| 日韩一区欧美一区| 7799精品视频| 国产精品一区在线观看你懂的| 国产精品天美传媒| 欧美三级日韩三级| 国产美女在线观看一区| 亚洲自拍偷拍麻豆| 亚洲精品一区二区三区精华液| 成人美女在线视频| 午夜精品久久久| 国产欧美日韩卡一| 欧美视频一区二| 国产盗摄一区二区| 天天综合日日夜夜精品| 国产片一区二区三区| 欧美日韩国产高清一区| 国产成人精品免费在线| 亚洲bdsm女犯bdsm网站| 久久久久88色偷偷免费| 欧美日韩国产另类一区| 成年人网站91| 精品一区二区三区在线观看国产| 亚洲日本在线看| 久久久久久夜精品精品免费| 欧美日韩在线观看一区二区 | 欧美激情在线一区二区| 欧美日韩大陆在线| 99久久伊人精品| 狠狠色丁香久久婷婷综合丁香| 亚洲精品国产无套在线观| 久久久噜噜噜久久人人看 | av电影在线观看不卡| 免费欧美在线视频| 亚洲一区精品在线| 国产精品久久久99| 久久久精品2019中文字幕之3| 欧美巨大另类极品videosbest| 成人av在线观| 国产成人免费xxxxxxxx| 麻豆精品视频在线| 手机精品视频在线观看| 中文字幕中文在线不卡住| 2021中文字幕一区亚洲| 欧美一区二区日韩| 欧美日韩中文字幕一区二区| 91官网在线观看| 91丨porny丨首页| 成人午夜电影小说| 国产精品资源站在线| 极品少妇xxxx偷拍精品少妇| 日韩精品电影一区亚洲| 亚洲成av人片在线观看| 亚洲一二三专区| 亚洲精品成a人| 亚洲色图视频网站| 亚洲特黄一级片| 国产精品久久久久久久第一福利| 欧美激情一区三区| 久久精子c满五个校花| 久久久久久久综合日本| 久久久久久97三级| 国产欧美日韩在线| 中文字幕不卡的av| 亚洲人成人一区二区在线观看| 国产精品久久久久桃色tv| 国产精品久久久久久久久晋中| 国产精品久久久久久久久免费相片 | 91国产福利在线| 精品视频在线视频| 日韩欧美国产精品一区| wwwwxxxxx欧美| 国产欧美精品一区aⅴ影院| 国产精品狼人久久影院观看方式| 日韩一区欧美一区| 亚洲午夜久久久久久久久久久| 一区二区久久久久| 日韩av一区二区三区四区| 激情另类小说区图片区视频区| 精品一区二区三区在线播放视频 | 亚洲免费在线电影| 亚洲成人免费av| 九九国产精品视频| 成人一级黄色片| 欧美自拍丝袜亚洲| 日韩欧美成人一区二区| 国产区在线观看成人精品| 一区二区激情视频| 美女视频一区二区| 成人国产视频在线观看| 欧美性感一类影片在线播放| 日韩欧美国产精品| 日韩美女啊v在线免费观看| 日日骚欧美日韩| 国产一区二区三区在线观看免费视频| 成人一道本在线| 欧美一区二区三区四区五区| xvideos.蜜桃一区二区| 亚洲精品视频在线观看免费| 青青草原综合久久大伊人精品优势| 国产福利一区二区三区在线视频| 一本色道**综合亚洲精品蜜桃冫| 欧美一级片在线| 日韩毛片在线免费观看| 毛片av一区二区三区| eeuss鲁片一区二区三区在线看| 欧美无乱码久久久免费午夜一区| 久久久久久久久久久黄色| 亚洲午夜电影在线观看| 丁香一区二区三区| 日韩三级视频在线看| 亚洲精品中文字幕乱码三区| 国产精品亚洲人在线观看| 欧美亚日韩国产aⅴ精品中极品| 日本一区二区三区在线观看| 无码av中文一区二区三区桃花岛| 99这里都是精品| 亚洲精品在线网站| 日韩激情在线观看| 91久久精品网| 国产精品视频一二| 国产一区二区视频在线播放| 在线电影一区二区三区| 亚洲人快播电影网| 成人精品视频一区二区三区| 精品久久久久久久久久久久久久久 | 久久久久久电影| 秋霞影院一区二区| 99久久精品免费看国产免费软件| 欧美一区二区性放荡片| 亚洲三级在线观看| 精品一区二区三区免费毛片爱| 91片黄在线观看| 久久日一线二线三线suv| 一区二区三区小说| 美女精品一区二区| 91麻豆精品国产自产在线| 最近日韩中文字幕| 国产精品一区二区三区乱码 | 欧美在线一区二区| 久久精品夜夜夜夜久久| 日韩成人av影视| 在线看日韩精品电影| ...xxx性欧美| 国产高清成人在线| 精品日韩av一区二区| 午夜久久久久久久久久一区二区| 捆绑调教美女网站视频一区| 不卡欧美aaaaa| 欧美国产日本视频| 久草在线在线精品观看| 色婷婷综合中文久久一本| 亚洲女与黑人做爰| 不卡在线视频中文字幕| 欧美激情综合五月色丁香| 老司机免费视频一区二区三区| 欧美成人aa大片| 免费人成在线不卡| 欧美乱熟臀69xxxxxx| 亚洲黄网站在线观看| 91原创在线视频| 亚洲欧洲av色图| av在线播放一区二区三区| 亚洲日本va午夜在线影院| 99国产精品国产精品毛片| 国产精品乱人伦| 99热这里都是精品| 亚洲自拍另类综合| 欧美精品久久久久久久多人混战 | 91麻豆高清视频| 最近日韩中文字幕| 在线亚洲免费视频| 国产精品美女一区二区三区| 91论坛在线播放| 亚洲一区在线看| 欧美久久一区二区| 久色婷婷小香蕉久久| ww久久中文字幕| www.亚洲在线| 亚洲综合精品久久|