diff driver/pt1_pci.c @ 142:1e7718cc2556

use utf-8 instead of euc-jp
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Wed, 30 Apr 2014 11:26:24 +0900
parents 45b4afa656d2
children d56831676696
line wrap: on
line diff
--- a/driver/pt1_pci.c	Tue Oct 01 16:36:12 2013 +0900
+++ b/driver/pt1_pci.c	Wed Apr 30 11:26:24 2014 +0900
@@ -80,18 +80,18 @@
 MODULE_DEVICE_TABLE(pci, pt1_pci_tbl);
 #define		DEV_NAME	"pt1video"
 
-#define		PACKET_SIZE			188		// 1パケット長
-#define		MAX_READ_BLOCK	4			// 1度に読み出す最大DMAバッファ数
-#define		MAX_PCI_DEVICE		128		// 最大64枚
-#define		DMA_SIZE	4096			// DMAバッファサイズ
+#define		PACKET_SIZE			188		// 1宴
+#define		MAX_READ_BLOCK	4			// 1綺茯水冴紊DMA≧
+#define		MAX_PCI_DEVICE		128		// 紊64
+#define		DMA_SIZE	4096			// DMA<泣ゃ
 #define		DMA_RING_SIZE	128			// number of DMA RINGS
-#define		DMA_RING_MAX	511			// number of DMA entries in a RING(1023はNGで511まで)
-#define		CHANNEL_DMA_SIZE	(2*1024*1024)	// 地デジ用(16Mbps)
-#define		BS_CHANNEL_DMA_SIZE	(4*1024*1024)	// BS用(32Mbps)
+#define		DMA_RING_MAX	511			// number of DMA entries in a RING(1023NG511障)
+#define		CHANNEL_DMA_SIZE	(2*1024*1024)	// 違悟(16Mbps)
+#define		BS_CHANNEL_DMA_SIZE	(4*1024*1024)	// BS(32Mbps)
 #define		READ_SIZE	(16*DMA_SIZE)
 
 typedef	struct	_DMA_CONTROL{
-	dma_addr_t	ring_dma[DMA_RING_MAX] ;	// DMA情報
+	dma_addr_t	ring_dma[DMA_RING_MAX] ;	// DMA
 	__u32		*data[DMA_RING_MAX];
 }DMA_CONTROL;
 
@@ -102,7 +102,7 @@
 	__u32			mmio_len ;
 	void __iomem		*regs;
 	struct mutex		lock ;
-	dma_addr_t		ring_dma[DMA_RING_SIZE] ;	// DMA情報
+	dma_addr_t		ring_dma[DMA_RING_SIZE] ;	// DMA
 	void			*dmaptr[DMA_RING_SIZE] ;
 	struct	task_struct	*kthread;
 	dev_t			dev ;
@@ -121,29 +121,29 @@
 }MICRO_PACKET;
 
 struct	_PT1_CHANNEL{
-	__u32			valid ;			// 使用中フラグ
-	__u32			address ;		// I2Cアドレス
-	__u32			channel ;		// チャネル番号
-	int			type ;			// チャネルタイプ
-	__u32			packet_size ;	// パケットサイズ
-	__u32			drop ;			// パケットドロップ数
-	struct mutex		lock ;			// CH別mutex_lock用
-	__u32			size ;			// DMAされたサイズ
-	__u32			maxsize ;		// DMA用バッファサイズ
-	__u32			bufsize ;		// チャネルに割り振られたサイズ
-	__u32			overflow ;		// オーバーフローエラー発生
-	__u32			counetererr ;	// 転送カウンタ1エラー
-	__u32			transerr ;		// 転送エラー
-	__u32			minor ;			// マイナー番号
-	__u8			*buf;			// CH別受信メモリ
+	__u32			valid ;			// 篏睡筝
+	__u32			address ;		// I2C≪
+	__u32			channel ;		// c
+	int			type ;			// c帥ゃ
+	__u32			packet_size ;	// 宴泣ゃ
+	__u32			drop ;			// 宴
+	struct mutex		lock ;			// CHmutex_lock
+	__u32			size ;			// DMA泣ゃ
+	__u32			maxsize ;		// DMA<泣ゃ
+	__u32			bufsize ;		// c蚊泣ゃ
+	__u32			overflow ;		// 若若若主榊
+	__u32			counetererr ;	// 荵∫潟随
+	__u32			transerr ;		// 荵∫
+	__u32			minor ;			// ゃ主
+	__u8			*buf;			// CHュ篆<<≪
 	__u32			pointer;
-	__u8			req_dma ;		// 溢れたチャネル
-	__u8			packet_buf[PACKET_SIZE] ;		// 溢れたチャネル
-	PT1_DEVICE		*ptr ;			// カード別情報
+	__u8			req_dma ;		// 羣≪c
+	__u8			packet_buf[PACKET_SIZE] ;		// 羣≪c
+	PT1_DEVICE		*ptr ;			// 若ユ
 	wait_queue_head_t	wait_q ;	// for poll on reading
 };
 
-// I2Cアドレス(video0, 1 = ISDB-S) (video2, 3 = ISDB-T)
+// I2C≪(video0, 1 = ISDB-S) (video2, 3 = ISDB-T)
 int		i2c_address[MAX_CHANNEL] = {T0_ISDB_S, T1_ISDB_S, T0_ISDB_T, T1_ISDB_T};
 int		real_channel[MAX_CHANNEL] = {0, 2, 1, 3};
 int		channeltype[MAX_CHANNEL] = {CHANNEL_TYPE_ISDB_S, CHANNEL_TYPE_ISDB_S,
@@ -164,25 +164,25 @@
 	int		data_pos = 0 ;
 	__u32	*dataptr ;
 
-	// データ初期化
+	// 若水
 	for(ring_pos = 0 ; ring_pos < DMA_RING_SIZE ; ring_pos++){
 		for(data_pos = 0 ; data_pos < DMA_RING_MAX ; data_pos++){
 			dataptr = (dev_conf->dmactl[ring_pos])->data[data_pos];
 			dataptr[(DMA_SIZE / sizeof(__u32)) - 2] = 0;
 		}
 	}
-	// 転送カウンタをリセット
+	// 荵∫潟帥祉
 	writel(0x00000010, dev_conf->regs);
-	// 転送カウンタをインクリメント
+	// 荵∫潟帥ゃ潟<潟
 	for(lp = 0 ; lp < DMA_RING_SIZE ; lp++){
 		writel(0x00000020, dev_conf->regs);
 	}
 
 	addr = (int)dev_conf->ring_dma[0] ;
 	addr >>= 12 ;
-	// DMAバッファ設定
+	// DMA∴┃絎
 	writel(addr, dev_conf->regs + DMA_ADDR);
-	// DMA開始
+	// DMA紮
 	writel(0x0c000040, dev_conf->regs);
 
 }
@@ -215,7 +215,7 @@
 
 		for(;;){
 			dataptr = (dev_conf->dmactl[ring_pos])->data[data_pos];
-			// データあり?
+			// 若帥鐚
 			if(dataptr[(DMA_SIZE / sizeof(__u32)) - 2] == 0){
 				break ;
 			}
@@ -225,7 +225,7 @@
 			for(lp = 0 ; lp < (DMA_SIZE / sizeof(__u32)) ; lp++, dataptr++){
 				micro.val = *dataptr ;
 				dma_channel = ((micro.packet.head >> 5) & 0x07);
-				//チャネル情報不正
+				//c延罩
 				if(dma_channel > MAX_CHANNEL){
 					printk(KERN_ERR "DMA Channel Number Error(%d)\n", dma_channel);
 					continue ;
@@ -233,7 +233,7 @@
 				chno = real_channel[(((micro.packet.head >> 5) & 0x07) - 1)];
 				packet_pos = ((micro.packet.head >> 2) & 0x07);
 				channel = dev_conf->channel[chno] ;
-				//  エラーチェック
+				//  若с
 				if((micro.packet.head & MICROPACKET_ERROR)){
 					val = readl(dev_conf->regs);
 					if((val & BIT_RAM_OVERFLOW)){
@@ -245,24 +245,24 @@
 					if((val & BIT_INITIATOR_WARNING)){
 						channel->transerr += 1 ;
 					}
-					// 初期化して先頭から
+					// 
 					reset_dma(dev_conf);
 					ring_pos = data_pos = 0 ;
 					break ;
 				}
-				// 未使用チャネルは捨てる
+				// 篏睡c
 				if(channel->valid == FALSE){
 					continue ;
 				}
 				mutex_lock(&channel->lock);
-				// あふれたら読み出すまで待つ
+				// 泣茯水冴障у
 				while(1){
 					if(channel->size >= (channel->maxsize - PACKET_SIZE - 4)){
-						// 該当チャンネルのDMA読みだし待ちにする
+						// 荅峨c潟DMA茯帥緇<
 						wake_up(&channel->wait_q);
 						channel->req_dma = TRUE ;
 						mutex_unlock(&channel->lock);
-						// タスクに時間を渡す為中断
+						// 帥鴻羝<坂賢
 						wait_event_timeout(dev_conf->dma_wait_q, (channel->req_dma == FALSE),
 											msecs_to_jiffies(500));
 						mutex_lock(&channel->lock);
@@ -271,32 +271,32 @@
 						break ;
 					}
 				}
-				// 先頭で、一時バッファに残っている場合
+				// с筝<罧c翫
 				if((micro.packet.head & 0x02) &&  (channel->packet_size != 0)){
 					channel->packet_size = 0 ;
 				}
-				// データコピー
+				// 若帥潟
 				channel->packet_buf[channel->packet_size]   = micro.packet.data[2];
 				channel->packet_buf[channel->packet_size+1] = micro.packet.data[1];
 				channel->packet_buf[channel->packet_size+2] = micro.packet.data[0];
 				channel->packet_size += 3;
 
-				// パケットが出来たらコピーする
+				// 宴堺ャ潟若
 				if(channel->packet_size >= PACKET_SIZE){
 					if (channel->pointer + channel->size >= channel->maxsize) {
-						// リングバッファの境界を越えていてリングバッファの先頭に戻っている場合
-						// channel->pointer + channel->size - channel->maxsize でリングバッファ先頭からのアドレスになる
+						// 潟違<紜莇潟違<祉c翫
+						// channel->pointer + channel->size - channel->maxsize с潟違≦≪鴻
 						memcpy(&channel->buf[channel->pointer + channel->size - channel->maxsize], channel->packet_buf, PACKET_SIZE);
 					} else if (channel->pointer + channel->size + PACKET_SIZE > channel->maxsize) {
-						// リングバッファの境界をまたぐように書き込まれる場合
-						// リングバッファの境界まで書き込み
+						// 潟違<紜障吾莨若障翫
+						// 潟違<紜障ф吾莨若
 						__u32 tmp_size = channel->maxsize - (channel->pointer + channel->size);
 						memcpy(&channel->buf[channel->pointer + channel->size], channel->packet_buf, tmp_size);
-						// 先頭に戻って書き込み
+						// 祉c吾莨若
 						memcpy(channel->buf, &channel->packet_buf[tmp_size], PACKET_SIZE - tmp_size);
 					} else {
-						// リングバッファ内で収まる場合
-						// 通常の書き込み
+						// 潟違≦у障翫
+						// 絽吾吾莨若
 						memcpy(&channel->buf[channel->pointer + channel->size], channel->packet_buf, PACKET_SIZE);
 					}
 					channel->size += PACKET_SIZE ;
@@ -309,14 +309,14 @@
 			if(data_pos >= DMA_RING_MAX){
 				data_pos = 0;
 				ring_pos += 1 ;
-				// DMAリングが変わった場合はインクリメント
+				// DMA潟違紊c翫ゃ潟<潟
 				writel(0x00000020, dev_conf->regs);
 				if(ring_pos >= DMA_RING_SIZE){
 					ring_pos = 0 ;
 				}
 			}
 
-			// 頻度を落す(wait until READ_SIZE)
+			// 糸墾純(wait until READ_SIZE)
 			for(lp = 0 ; lp < MAX_CHANNEL ; lp++){
 				channel = dev_conf->channel[real_channel[lp]] ;
 				if((channel->size >= READ_SIZE) && (channel->valid == TRUE)){
@@ -368,7 +368,7 @@
 					channel->packet_size = 0 ;
 					file->private_data = channel;
 					mutex_lock(&channel->lock);
-					// データ初期化
+					// 若水
 					channel->size = 0 ;
 					mutex_unlock(&channel->lock);
 					mutex_unlock(&device[lp]->lock);
@@ -392,7 +392,7 @@
 	channel->counetererr = 0 ;
 	channel->transerr = 0 ;
 	channel->drop = 0 ;
-	// 停止している場合は起こす
+	// 罩≪翫莎激
 	if(channel->req_dma == TRUE){
 		channel->req_dma = FALSE ;
 		wake_up(&channel->ptr->dma_wait_q);
@@ -413,7 +413,7 @@
 	__u32	size ;
 	unsigned long dummy;
 
-	// READ_SIZE単位で起こされるのを待つ(CPU負荷対策)
+	// READ_SIZE篏ц儀緇(CPU莢桁丞)
 	if(channel->size < READ_SIZE){
 		wait_event_timeout(channel->wait_q, (channel->size >= READ_SIZE),
 							msecs_to_jiffies(500));
@@ -424,28 +424,28 @@
 	}else{
 		__u32 tmp_size = 0;
 		if (cnt < channel->size) {
-			// バッファにあるデータより小さい読み込みの場合
+			// <若帥絨茯粋昭帥翫
 			size = cnt;
 		} else {
-			// バッファにあるデータ以上の読み込みの場合
+			// <若推札筝茯粋昭帥翫
 			size = channel->size;
 		}
 		if (channel->maxsize <= size + channel->pointer) {
-			// リングバッファの境界を越える場合
+			// 潟違<紜莇翫
 			tmp_size = channel->maxsize - channel->pointer;
-			// 境界までコピー
+			// 紜障с潟
 			dummy = copy_to_user(buf, &channel->buf[channel->pointer], tmp_size);
-			// 残りをコピー
+			// 罧潟
 			dummy = copy_to_user(&buf[tmp_size], channel->buf, size - tmp_size);
 			channel->pointer = size - tmp_size;
 		} else {
-			// 普通にコピー
+			// 潟
 			dummy = copy_to_user(buf, &channel->buf[channel->pointer], size);
 			channel->pointer += size;
 		}
 		channel->size -= size;
 	}
-	// 読み終わったかつ使用しているのがが4K以下
+	// 茯睡cや戎4K篁ヤ
 	if(channel->req_dma == TRUE){
 		channel->req_dma = FALSE ;
 		wake_up(&channel->ptr->dma_wait_q);
@@ -634,7 +634,7 @@
 	__u32	addr  ;
 	__u32	*ptr ;
 
-	//DMAリング作成
+	//DMA潟遺
 	for(lp = 0 ; lp < DMA_RING_SIZE ; lp++){
 		ptr = dev_conf->dmaptr[lp];
 		if(lp ==  (DMA_RING_SIZE - 1)){
@@ -654,7 +654,7 @@
 				return -1 ;
 			}
 			dmactl->data[lp2] = dmaptr ;
-			// DMAデータエリア初期化
+			// DMA若帥√
 			dmaptr[(DMA_SIZE / sizeof(__u32)) - 2] = 0 ;
 			addr = (__u32)dmactl->ring_dma[lp2];
 			addr >>= 12 ;
@@ -763,7 +763,7 @@
 		break;
 	}
 
-	// PCIアドレスをマップする
+	// PCI≪鴻
 	dev_conf->mmio_start = pci_resource_start(pdev, 0);
 	dev_conf->mmio_len = pci_resource_len(pdev, 0);
 	dummy = request_mem_region(dev_conf->mmio_start, dev_conf->mmio_len, DEV_NAME);
@@ -777,12 +777,12 @@
 		printk(KERN_ERR "pt1:Can't remap register area.\n");
 		goto out_err_regbase;
 	}
-	// 初期化処理
+	// 
 	if(xc3s_init(dev_conf->regs, dev_conf->cardtype)){
 		printk(KERN_ERR "Error xc3s_init\n");
 		goto out_err_fpga;
 	}
-	// チューナリセット
+	// ャ若祉
 	settuner_reset(dev_conf->regs, dev_conf->cardtype, LNB_OFF, TUNER_POWER_ON_RESET_ENABLE);
 	schedule_timeout_interruptible(msecs_to_jiffies(100));
 
@@ -790,7 +790,7 @@
 	schedule_timeout_interruptible(msecs_to_jiffies(100));
 	mutex_init(&dev_conf->lock);
 
-	// Tuner 初期化処理
+	// Tuner 
 	for(lp = 0 ; lp < MAX_TUNER ; lp++){
 		rc = tuner_init(dev_conf->regs, dev_conf->cardtype, &dev_conf->lock, lp);
 		if(rc < 0){
@@ -798,7 +798,7 @@
 			goto out_err_fpga;
 		}
 	}
-	// 初期化完了
+	// 絎篋
 	for(lp = 0 ; lp < MAX_CHANNEL ; lp++){
 		set_sleepmode(dev_conf->regs, &dev_conf->lock,
 						i2c_address[lp], channeltype[lp], TYPE_SLEEP);
@@ -810,7 +810,7 @@
 		goto out_err_fpga;
 	}
 
-	// 初期化
+	// 
 	init_waitqueue_head(&dev_conf->dma_wait_q);
 
 	minor = MINOR(dev_conf->dev) ;
@@ -834,16 +834,16 @@
 			return -ENOMEM ;
 		}
 
-		// 共通情報
+		// 演
 		mutex_init(&channel->lock);
-		// 待ち状態を解除
+		// 緇∞倶茹i
 		channel->req_dma = FALSE ;
-		// マイナー番号設定
+		// ゃ主埈┃絎
 		channel->minor = MINOR(dev_conf->dev) + lp ;
-		// 対象のI2Cデバイス
+		// 絲乗院I2Cゃ
 		channel->address = i2c_address[lp] ;
 		channel->type = channeltype[lp] ;
-		// 実際のチューナ番号
+		// 絎ャ若
 		channel->channel = real_channel[lp] ;
 		channel->ptr = dev_conf ;
 		channel->size = 0 ;
@@ -941,7 +941,7 @@
 			dev_conf->kthread = NULL;
 		}
 
-		// DMA終了
+		// DMA腟篋
 		writel(0x08080000, dev_conf->regs);
 		for(lp = 0 ; lp < 10 ; lp++){
 			val = readl(dev_conf->regs);