Lines Matching refs:gd

105 } gd;
213 gdrom_hardreset(gd.cd_info);
236 gd.pending = 1;
237 gdrom_packetcommand(gd.cd_info, spin_command);
239 wait_event_interruptible_timeout(command_queue, gd.pending == 0,
241 gd.pending = 0;
243 if (gd.status & 0x01) {
273 if (gd.pending) {
277 gd.pending = 1;
278 gdrom_packetcommand(gd.cd_info, toc_command);
279 wait_event_interruptible_timeout(command_queue, gd.pending == 0,
281 if (gd.pending) {
286 if (gd.status & 0x01)
290 gd.pending = 0;
317 if (!gd.toc)
321 err = gdrom_readtoc_cmd(gd.toc, 1);
324 err = gdrom_readtoc_cmd(gd.toc, 0);
331 fentry = get_entry_track(gd.toc->first);
332 lentry = get_entry_track(gd.toc->last);
334 track = get_entry_track(gd.toc->last);
336 data = gd.toc->entry[track - 1];
342 if ((track > 100) || (track < get_entry_track(gd.toc->first))) {
426 if (gd.pending && !gdrom_wait_clrbusy()) {
430 gd.pending = 1;
431 gdrom_packetcommand(gd.cd_info, sense_command);
432 wait_event_interruptible_timeout(command_queue, gd.pending == 0,
434 if (gd.pending)
452 gd.pending = 0;
484 ret = cdrom_open(gd.cd_info, mode);
492 cdrom_release(gd.cd_info);
499 return cdrom_check_events(gd.cd_info, clearing);
508 ret = cdrom_ioctl(gd.cd_info, bdev, cmd, arg);
527 gd.status = __raw_readb(GDROM_STATUSCOMMAND_REG);
528 if (gd.pending != 1)
530 gd.pending = 0;
537 gd.status = __raw_readb(GDROM_STATUSCOMMAND_REG);
538 if (gd.transfer != 1)
540 gd.transfer = 0;
550 0, "gdrom_command", &gd);
554 0, "gdrom_dma", &gd);
556 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 gd.disk->flags |= GENHD_FL_NO_PART;
722 strcpy(gd.disk->disk_name, GDROM_DEV_NAME);
727 blk_queue_logical_block_size(gd.gdrom_rq, GDROM_HARD_SECTOR);
729 blk_queue_max_segments(gd.gdrom_rq, 1);
731 blk_queue_max_segment_size(gd.gdrom_rq, 0x40000);
732 gd.disk->queue = gd.gdrom_rq;
752 memset(&gd, 0, sizeof(gd));
769 gd.cd_info = kzalloc(sizeof(struct cdrom_device_info), GFP_KERNEL);
770 if (!gd.cd_info) {
776 err = blk_mq_alloc_sq_tag_set(&gd.tag_set, &gdrom_mq_ops, 1,
781 gd.disk = blk_mq_alloc_disk(&gd.tag_set, NULL);
782 if (IS_ERR(gd.disk)) {
783 err = PTR_ERR(gd.disk);
786 gd.gdrom_rq = gd.disk->queue;
788 if (register_cdrom(gd.disk, gd.cd_info)) {
792 gd.disk->fops = &gdrom_bdops;
793 gd.disk->events = DISK_EVENT_MEDIA_CHANGE;
803 gd.toc = kzalloc(sizeof(struct gdromtoc), GFP_KERNEL);
804 if (!gd.toc) {
808 err = add_disk(gd.disk);
815 kfree(gd.toc);
817 free_irq(HW_EVENT_GDROM_DMA, &gd);
818 free_irq(HW_EVENT_GDROM_CMD, &gd);
820 put_disk(gd.disk);
822 blk_mq_free_tag_set(&gd.tag_set);
824 kfree(gd.cd_info);
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);