creg_ctrl 375 drivers/block/rsxx/core.c queue_work(card->creg_ctrl.creg_wq, creg_ctrl 376 drivers/block/rsxx/core.c &card->creg_ctrl.done_work); creg_ctrl 491 drivers/block/rsxx/core.c if (card->creg_ctrl.creg_stats.stat & CREG_STAT_LOG_PENDING) creg_ctrl 947 drivers/block/rsxx/core.c destroy_workqueue(card->creg_ctrl.creg_wq); creg_ctrl 948 drivers/block/rsxx/core.c card->creg_ctrl.creg_wq = NULL; creg_ctrl 1006 drivers/block/rsxx/core.c destroy_workqueue(card->creg_ctrl.creg_wq); creg_ctrl 126 drivers/block/rsxx/cregs.c if (card->creg_ctrl.active || list_empty(&card->creg_ctrl.queue)) creg_ctrl 129 drivers/block/rsxx/cregs.c card->creg_ctrl.active = 1; creg_ctrl 130 drivers/block/rsxx/cregs.c card->creg_ctrl.active_cmd = list_first_entry(&card->creg_ctrl.queue, creg_ctrl 132 drivers/block/rsxx/cregs.c list_del(&card->creg_ctrl.active_cmd->list); creg_ctrl 133 drivers/block/rsxx/cregs.c card->creg_ctrl.q_depth--; creg_ctrl 141 drivers/block/rsxx/cregs.c mod_timer(&card->creg_ctrl.cmd_timer, creg_ctrl 144 drivers/block/rsxx/cregs.c creg_issue_cmd(card, card->creg_ctrl.active_cmd); creg_ctrl 162 drivers/block/rsxx/cregs.c if (card->creg_ctrl.reset) creg_ctrl 183 drivers/block/rsxx/cregs.c spin_lock_bh(&card->creg_ctrl.lock); creg_ctrl 184 drivers/block/rsxx/cregs.c list_add_tail(&cmd->list, &card->creg_ctrl.queue); creg_ctrl 185 drivers/block/rsxx/cregs.c card->creg_ctrl.q_depth++; creg_ctrl 187 drivers/block/rsxx/cregs.c spin_unlock_bh(&card->creg_ctrl.lock); creg_ctrl 194 drivers/block/rsxx/cregs.c struct rsxx_cardinfo *card = from_timer(card, t, creg_ctrl.cmd_timer); creg_ctrl 197 drivers/block/rsxx/cregs.c spin_lock(&card->creg_ctrl.lock); creg_ctrl 198 drivers/block/rsxx/cregs.c cmd = card->creg_ctrl.active_cmd; creg_ctrl 199 drivers/block/rsxx/cregs.c card->creg_ctrl.active_cmd = NULL; creg_ctrl 200 drivers/block/rsxx/cregs.c spin_unlock(&card->creg_ctrl.lock); creg_ctrl 203 drivers/block/rsxx/cregs.c card->creg_ctrl.creg_stats.creg_timeout++; creg_ctrl 215 drivers/block/rsxx/cregs.c spin_lock(&card->creg_ctrl.lock); creg_ctrl 216 drivers/block/rsxx/cregs.c card->creg_ctrl.active = 0; creg_ctrl 218 drivers/block/rsxx/cregs.c spin_unlock(&card->creg_ctrl.lock); creg_ctrl 229 drivers/block/rsxx/cregs.c creg_ctrl.done_work); creg_ctrl 235 drivers/block/rsxx/cregs.c if (del_timer_sync(&card->creg_ctrl.cmd_timer) == 0) creg_ctrl 236 drivers/block/rsxx/cregs.c card->creg_ctrl.creg_stats.failed_cancel_timer++; creg_ctrl 238 drivers/block/rsxx/cregs.c spin_lock_bh(&card->creg_ctrl.lock); creg_ctrl 239 drivers/block/rsxx/cregs.c cmd = card->creg_ctrl.active_cmd; creg_ctrl 240 drivers/block/rsxx/cregs.c card->creg_ctrl.active_cmd = NULL; creg_ctrl 241 drivers/block/rsxx/cregs.c spin_unlock_bh(&card->creg_ctrl.lock); creg_ctrl 249 drivers/block/rsxx/cregs.c card->creg_ctrl.creg_stats.stat = ioread32(card->regmap + CREG_STAT); creg_ctrl 250 drivers/block/rsxx/cregs.c cmd->status = card->creg_ctrl.creg_stats.stat; creg_ctrl 291 drivers/block/rsxx/cregs.c spin_lock_bh(&card->creg_ctrl.lock); creg_ctrl 292 drivers/block/rsxx/cregs.c card->creg_ctrl.active = 0; creg_ctrl 294 drivers/block/rsxx/cregs.c spin_unlock_bh(&card->creg_ctrl.lock); creg_ctrl 307 drivers/block/rsxx/cregs.c if (!mutex_trylock(&card->creg_ctrl.reset_lock)) creg_ctrl 310 drivers/block/rsxx/cregs.c card->creg_ctrl.reset = 1; creg_ctrl 319 drivers/block/rsxx/cregs.c spin_lock_bh(&card->creg_ctrl.lock); creg_ctrl 320 drivers/block/rsxx/cregs.c list_for_each_entry_safe(cmd, tmp, &card->creg_ctrl.queue, list) { creg_ctrl 322 drivers/block/rsxx/cregs.c card->creg_ctrl.q_depth--; creg_ctrl 328 drivers/block/rsxx/cregs.c cmd = card->creg_ctrl.active_cmd; creg_ctrl 329 drivers/block/rsxx/cregs.c card->creg_ctrl.active_cmd = NULL; creg_ctrl 331 drivers/block/rsxx/cregs.c if (timer_pending(&card->creg_ctrl.cmd_timer)) creg_ctrl 332 drivers/block/rsxx/cregs.c del_timer_sync(&card->creg_ctrl.cmd_timer); creg_ctrl 338 drivers/block/rsxx/cregs.c card->creg_ctrl.active = 0; creg_ctrl 340 drivers/block/rsxx/cregs.c spin_unlock_bh(&card->creg_ctrl.lock); creg_ctrl 342 drivers/block/rsxx/cregs.c card->creg_ctrl.reset = 0; creg_ctrl 347 drivers/block/rsxx/cregs.c mutex_unlock(&card->creg_ctrl.reset_lock); creg_ctrl 399 drivers/block/rsxx/cregs.c card->creg_ctrl.q_depth + 20000); creg_ctrl 698 drivers/block/rsxx/cregs.c cmd = card->creg_ctrl.active_cmd; creg_ctrl 699 drivers/block/rsxx/cregs.c card->creg_ctrl.active_cmd = NULL; creg_ctrl 702 drivers/block/rsxx/cregs.c del_timer_sync(&card->creg_ctrl.cmd_timer); creg_ctrl 704 drivers/block/rsxx/cregs.c spin_lock_bh(&card->creg_ctrl.lock); creg_ctrl 705 drivers/block/rsxx/cregs.c list_add(&cmd->list, &card->creg_ctrl.queue); creg_ctrl 706 drivers/block/rsxx/cregs.c card->creg_ctrl.q_depth++; creg_ctrl 707 drivers/block/rsxx/cregs.c card->creg_ctrl.active = 0; creg_ctrl 708 drivers/block/rsxx/cregs.c spin_unlock_bh(&card->creg_ctrl.lock); creg_ctrl 714 drivers/block/rsxx/cregs.c spin_lock_bh(&card->creg_ctrl.lock); creg_ctrl 715 drivers/block/rsxx/cregs.c if (!list_empty(&card->creg_ctrl.queue)) creg_ctrl 717 drivers/block/rsxx/cregs.c spin_unlock_bh(&card->creg_ctrl.lock); creg_ctrl 723 drivers/block/rsxx/cregs.c card->creg_ctrl.active_cmd = NULL; creg_ctrl 725 drivers/block/rsxx/cregs.c card->creg_ctrl.creg_wq = creg_ctrl 727 drivers/block/rsxx/cregs.c if (!card->creg_ctrl.creg_wq) creg_ctrl 730 drivers/block/rsxx/cregs.c INIT_WORK(&card->creg_ctrl.done_work, creg_cmd_done); creg_ctrl 731 drivers/block/rsxx/cregs.c mutex_init(&card->creg_ctrl.reset_lock); creg_ctrl 732 drivers/block/rsxx/cregs.c INIT_LIST_HEAD(&card->creg_ctrl.queue); creg_ctrl 733 drivers/block/rsxx/cregs.c spin_lock_init(&card->creg_ctrl.lock); creg_ctrl 734 drivers/block/rsxx/cregs.c timer_setup(&card->creg_ctrl.cmd_timer, creg_cmd_timed_out, 0); creg_ctrl 746 drivers/block/rsxx/cregs.c spin_lock_bh(&card->creg_ctrl.lock); creg_ctrl 747 drivers/block/rsxx/cregs.c list_for_each_entry_safe(cmd, tmp, &card->creg_ctrl.queue, list) { creg_ctrl 759 drivers/block/rsxx/cregs.c cmd = card->creg_ctrl.active_cmd; creg_ctrl 760 drivers/block/rsxx/cregs.c card->creg_ctrl.active_cmd = NULL; creg_ctrl 762 drivers/block/rsxx/cregs.c if (timer_pending(&card->creg_ctrl.cmd_timer)) creg_ctrl 763 drivers/block/rsxx/cregs.c del_timer_sync(&card->creg_ctrl.cmd_timer); creg_ctrl 771 drivers/block/rsxx/cregs.c spin_unlock_bh(&card->creg_ctrl.lock); creg_ctrl 773 drivers/block/rsxx/cregs.c cancel_work_sync(&card->creg_ctrl.done_work); creg_ctrl 138 drivers/block/rsxx/rsxx_priv.h } creg_ctrl;