Lines Matching refs:gd
106 } gd;
214 gdrom_hardreset(gd.cd_info);
237 gd.pending = 1;
238 gdrom_packetcommand(gd.cd_info, spin_command);
240 wait_event_interruptible_timeout(command_queue, gd.pending == 0,
242 gd.pending = 0;
244 if (gd.status & 0x01) {
274 if (gd.pending) {
278 gd.pending = 1;
279 gdrom_packetcommand(gd.cd_info, toc_command);
280 wait_event_interruptible_timeout(command_queue, gd.pending == 0,
282 if (gd.pending) {
287 if (gd.status & 0x01)
291 gd.pending = 0;
318 if (!gd.toc)
322 err = gdrom_readtoc_cmd(gd.toc, 1);
325 err = gdrom_readtoc_cmd(gd.toc, 0);
332 fentry = get_entry_track(gd.toc->first);
333 lentry = get_entry_track(gd.toc->last);
335 track = get_entry_track(gd.toc->last);
337 data = gd.toc->entry[track - 1];
343 if ((track > 100) || (track < get_entry_track(gd.toc->first))) {
427 if (gd.pending && !gdrom_wait_clrbusy()) {
431 gd.pending = 1;
432 gdrom_packetcommand(gd.cd_info, sense_command);
433 wait_event_interruptible_timeout(command_queue, gd.pending == 0,
435 if (gd.pending)
453 gd.pending = 0;
485 ret = cdrom_open(gd.cd_info, bdev, mode);
493 cdrom_release(gd.cd_info, mode);
500 return cdrom_check_events(gd.cd_info, clearing);
509 ret = cdrom_ioctl(gd.cd_info, bdev, mode, cmd, arg);
528 gd.status = __raw_readb(GDROM_STATUSCOMMAND_REG);
529 if (gd.pending != 1)
531 gd.pending = 0;
538 gd.status = __raw_readb(GDROM_STATUSCOMMAND_REG);
539 if (gd.transfer != 1)
541 gd.transfer = 0;
551 0, "gdrom_command", &gd);
555 0, "gdrom_dma", &gd);
557 free_irq(HW_EVENT_GDROM_CMD, &gd);
613 gd.pending = 1;
614 gd.transfer = 1;
624 gd.transfer == 0, GDROM_DEFAULT_TIMEOUT);
625 err = gd.transfer ? BLK_STS_IOERR : BLK_STS_OK;
626 gd.transfer = 0;
627 gd.pending = 0;
709 gd.cd_info->ops = &gdrom_ops;
710 gd.cd_info->capacity = 1;
711 strcpy(gd.cd_info->name, GDROM_DEV_NAME);
712 gd.cd_info->mask = CDC_CLOSE_TRAY|CDC_OPEN_TRAY|CDC_LOCK|
718 gd.disk->major = gdrom_major;
719 gd.disk->first_minor = 1;
720 gd.disk->minors = 1;
721 strcpy(gd.disk->disk_name, GDROM_DEV_NAME);
726 blk_queue_logical_block_size(gd.gdrom_rq, GDROM_HARD_SECTOR);
728 blk_queue_max_segments(gd.gdrom_rq, 1);
730 blk_queue_max_segment_size(gd.gdrom_rq, 0x40000);
731 gd.disk->queue = gd.gdrom_rq;
751 memset(&gd, 0, sizeof(gd));
768 gd.cd_info = kzalloc(sizeof(struct cdrom_device_info), GFP_KERNEL);
769 if (!gd.cd_info) {
774 gd.disk = alloc_disk(1);
775 if (!gd.disk) {
780 if (register_cdrom(gd.disk, gd.cd_info)) {
784 gd.disk->fops = &gdrom_bdops;
785 gd.disk->events = DISK_EVENT_MEDIA_CHANGE;
791 gd.gdrom_rq = blk_mq_init_sq_queue(&gd.tag_set, &gdrom_mq_ops, 1,
793 if (IS_ERR(gd.gdrom_rq)) {
794 err = PTR_ERR(gd.gdrom_rq);
795 gd.gdrom_rq = NULL;
799 blk_queue_bounce_limit(gd.gdrom_rq, BLK_BOUNCE_HIGH);
805 gd.toc = kzalloc(sizeof(struct gdromtoc), GFP_KERNEL);
806 if (!gd.toc) {
810 add_disk(gd.disk);
814 blk_cleanup_queue(gd.gdrom_rq);
815 blk_mq_free_tag_set(&gd.tag_set);
817 free_irq(HW_EVENT_GDROM_DMA, &gd);
818 free_irq(HW_EVENT_GDROM_CMD, &gd);
821 del_gendisk(gd.disk);
823 kfree(gd.cd_info);
833 blk_cleanup_queue(gd.gdrom_rq);
834 blk_mq_free_tag_set(&gd.tag_set);
835 free_irq(HW_EVENT_GDROM_CMD, &gd);
836 free_irq(HW_EVENT_GDROM_DMA, &gd);
837 del_gendisk(gd.disk);
840 unregister_cdrom(gd.cd_info);
841 kfree(gd.cd_info);
842 kfree(gd.toc);