msc 16 arch/arm/mach-pxa/smemc.c static unsigned long msc[2]; msc 22 arch/arm/mach-pxa/smemc.c msc[0] = __raw_readl(MSC0); msc 23 arch/arm/mach-pxa/smemc.c msc[1] = __raw_readl(MSC1); msc 36 arch/arm/mach-pxa/smemc.c __raw_writel(msc[0], MSC0); msc 37 arch/arm/mach-pxa/smemc.c __raw_writel(msc[1], MSC1); msc 268 arch/mips/include/asm/ip32/mace.h volatile unsigned int msc; msc 361 drivers/crypto/nx/nx.c struct max_sync_cop *msc; msc 364 drivers/crypto/nx/nx.c msc = (struct max_sync_cop *)p->value; msc 376 drivers/crypto/nx/nx.c trip = msc->trip; msc 380 drivers/crypto/nx/nx.c i < msc->triplets; msc 382 drivers/crypto/nx/nx.c if (msc->fc >= NX_MAX_FC || msc->mode >= NX_MAX_MODE) { msc 384 drivers/crypto/nx/nx.c "combo: %d/%d (ignored)\n", msc->fc, msc 385 drivers/crypto/nx/nx.c msc->mode); msc 399 drivers/crypto/nx/nx.c props->ap[msc->fc][msc->mode][0].databytelen = msc 401 drivers/crypto/nx/nx.c props->ap[msc->fc][msc->mode][0].sglen = msc 405 drivers/crypto/nx/nx.c props->ap[msc->fc][msc->mode][1].databytelen = msc 407 drivers/crypto/nx/nx.c props->ap[msc->fc][msc->mode][1].sglen = msc 411 drivers/crypto/nx/nx.c if (msc->fc == NX_FC_AES) { msc 412 drivers/crypto/nx/nx.c props->ap[msc->fc][msc->mode][2]. msc 414 drivers/crypto/nx/nx.c props->ap[msc->fc][msc->mode][2].sglen = msc 416 drivers/crypto/nx/nx.c } else if (msc->fc == NX_FC_AES_HMAC || msc 417 drivers/crypto/nx/nx.c msc->fc == NX_FC_SHA) { msc 418 drivers/crypto/nx/nx.c props->ap[msc->fc][msc->mode][1]. msc 420 drivers/crypto/nx/nx.c props->ap[msc->fc][msc->mode][1].sglen = msc 425 drivers/crypto/nx/nx.c ": (%u/256)\n", msc->fc); msc 429 drivers/crypto/nx/nx.c props->ap[msc->fc][msc->mode][2].databytelen = msc 431 drivers/crypto/nx/nx.c props->ap[msc->fc][msc->mode][2].sglen = msc 436 drivers/crypto/nx/nx.c "len combo: (%u/%u)\n", msc->fc, msc 445 drivers/crypto/nx/nx.c msc = (struct max_sync_cop *)trip; msc 132 drivers/hid/hid-magicmouse.c static int magicmouse_firm_touch(struct magicmouse_sc *msc) msc 140 drivers/hid/hid-magicmouse.c for (ii = 0; ii < msc->ntouches; ii++) { msc 141 drivers/hid/hid-magicmouse.c int idx = msc->tracking_ids[ii]; msc 142 drivers/hid/hid-magicmouse.c if (msc->touches[idx].size < 8) { msc 155 drivers/hid/hid-magicmouse.c static void magicmouse_emit_buttons(struct magicmouse_sc *msc, int state) msc 157 drivers/hid/hid-magicmouse.c int last_state = test_bit(BTN_LEFT, msc->input->key) << 0 | msc 158 drivers/hid/hid-magicmouse.c test_bit(BTN_RIGHT, msc->input->key) << 1 | msc 159 drivers/hid/hid-magicmouse.c test_bit(BTN_MIDDLE, msc->input->key) << 2; msc 172 drivers/hid/hid-magicmouse.c } else if ((id = magicmouse_firm_touch(msc)) >= 0) { msc 173 drivers/hid/hid-magicmouse.c int x = msc->touches[id].x; msc 182 drivers/hid/hid-magicmouse.c input_report_key(msc->input, BTN_MIDDLE, state & 4); msc 185 drivers/hid/hid-magicmouse.c input_report_key(msc->input, BTN_LEFT, state & 1); msc 186 drivers/hid/hid-magicmouse.c input_report_key(msc->input, BTN_RIGHT, state & 2); msc 189 drivers/hid/hid-magicmouse.c msc->scroll_accel = SCROLL_ACCEL_DEFAULT; msc 192 drivers/hid/hid-magicmouse.c static void magicmouse_emit_touch(struct magicmouse_sc *msc, int raw_id, u8 *tdata) msc 194 drivers/hid/hid-magicmouse.c struct input_dev *input = msc->input; msc 232 drivers/hid/hid-magicmouse.c msc->tracking_ids[raw_id] = id; msc 233 drivers/hid/hid-magicmouse.c msc->touches[id].x = x; msc 234 drivers/hid/hid-magicmouse.c msc->touches[id].y = y; msc 235 drivers/hid/hid-magicmouse.c msc->touches[id].size = size; msc 243 drivers/hid/hid-magicmouse.c int step_x = msc->touches[id].scroll_x - x; msc 244 drivers/hid/hid-magicmouse.c int step_y = msc->touches[id].scroll_y - y; msc 249 drivers/hid/hid-magicmouse.c msc->touches[id].scroll_x = x; msc 250 drivers/hid/hid-magicmouse.c msc->touches[id].scroll_y = y; msc 254 drivers/hid/hid-magicmouse.c msc->scroll_jiffies + HZ / 2)) msc 255 drivers/hid/hid-magicmouse.c msc->scroll_accel = max_t(int, msc 256 drivers/hid/hid-magicmouse.c msc->scroll_accel - 1, 1); msc 258 drivers/hid/hid-magicmouse.c msc->scroll_accel = SCROLL_ACCEL_DEFAULT; msc 262 drivers/hid/hid-magicmouse.c step_x /= (64 - (int)scroll_speed) * msc->scroll_accel; msc 264 drivers/hid/hid-magicmouse.c msc->touches[id].scroll_x -= step_x * msc 265 drivers/hid/hid-magicmouse.c (64 - scroll_speed) * msc->scroll_accel; msc 266 drivers/hid/hid-magicmouse.c msc->scroll_jiffies = now; msc 270 drivers/hid/hid-magicmouse.c step_y /= (64 - (int)scroll_speed) * msc->scroll_accel; msc 272 drivers/hid/hid-magicmouse.c msc->touches[id].scroll_y -= step_y * msc 273 drivers/hid/hid-magicmouse.c (64 - scroll_speed) * msc->scroll_accel; msc 274 drivers/hid/hid-magicmouse.c msc->scroll_jiffies = now; msc 282 drivers/hid/hid-magicmouse.c msc->ntouches++; msc 311 drivers/hid/hid-magicmouse.c struct magicmouse_sc *msc = hid_get_drvdata(hdev); msc 312 drivers/hid/hid-magicmouse.c struct input_dev *input = msc->input; msc 327 drivers/hid/hid-magicmouse.c msc->ntouches = 0; msc 329 drivers/hid/hid-magicmouse.c magicmouse_emit_touch(msc, ii, data + ii * 9 + 4); msc 349 drivers/hid/hid-magicmouse.c msc->ntouches = 0; msc 351 drivers/hid/hid-magicmouse.c magicmouse_emit_touch(msc, ii, data + ii * 9 + 12); msc 365 drivers/hid/hid-magicmouse.c msc->ntouches = 0; msc 367 drivers/hid/hid-magicmouse.c magicmouse_emit_touch(msc, ii, data + ii * 8 + 6); msc 396 drivers/hid/hid-magicmouse.c magicmouse_emit_buttons(msc, clicks & 3); msc 545 drivers/hid/hid-magicmouse.c struct magicmouse_sc *msc = hid_get_drvdata(hdev); msc 547 drivers/hid/hid-magicmouse.c if (!msc->input) msc 548 drivers/hid/hid-magicmouse.c msc->input = hi->input; msc 563 drivers/hid/hid-magicmouse.c struct magicmouse_sc *msc = hid_get_drvdata(hdev); msc 566 drivers/hid/hid-magicmouse.c ret = magicmouse_setup_input(msc->input, hdev); msc 570 drivers/hid/hid-magicmouse.c msc->input = NULL; msc 586 drivers/hid/hid-magicmouse.c struct magicmouse_sc *msc; msc 596 drivers/hid/hid-magicmouse.c msc = devm_kzalloc(&hdev->dev, sizeof(*msc), GFP_KERNEL); msc 597 drivers/hid/hid-magicmouse.c if (msc == NULL) { msc 602 drivers/hid/hid-magicmouse.c msc->scroll_accel = SCROLL_ACCEL_DEFAULT; msc 604 drivers/hid/hid-magicmouse.c msc->quirks = id->driver_data; msc 605 drivers/hid/hid-magicmouse.c hid_set_drvdata(hdev, msc); msc 619 drivers/hid/hid-magicmouse.c if (!msc->input) { msc 74 drivers/hwtracing/intel_th/msu.c struct msc *msc; msc 94 drivers/hwtracing/intel_th/msu.c struct msc *msc; msc 302 drivers/hwtracing/intel_th/msu.c return win->entry.next == &win->msc->win_list; msc 314 drivers/hwtracing/intel_th/msu.c return list_first_entry(&win->msc->win_list, struct msc_window, msc 350 drivers/hwtracing/intel_th/msu.c msc_find_window(struct msc *msc, struct sg_table *sgt, bool nonempty) msc 355 drivers/hwtracing/intel_th/msu.c if (list_empty(&msc->win_list)) msc 363 drivers/hwtracing/intel_th/msu.c list_for_each_entry(win, &msc->win_list, entry) { msc 387 drivers/hwtracing/intel_th/msu.c static struct msc_window *msc_oldest_window(struct msc *msc) msc 391 drivers/hwtracing/intel_th/msu.c if (list_empty(&msc->win_list)) msc 394 drivers/hwtracing/intel_th/msu.c win = msc_find_window(msc, msc_next_window(msc->cur_win)->sgt, true); msc 398 drivers/hwtracing/intel_th/msu.c return list_first_entry(&msc->win_list, struct msc_window, entry); msc 436 drivers/hwtracing/intel_th/msu.c static struct msc_iter *msc_iter_install(struct msc *msc) msc 444 drivers/hwtracing/intel_th/msu.c mutex_lock(&msc->buf_mutex); msc 452 drivers/hwtracing/intel_th/msu.c if (msc->enabled) { msc 458 drivers/hwtracing/intel_th/msu.c iter->msc = msc; msc 460 drivers/hwtracing/intel_th/msu.c list_add_tail(&iter->entry, &msc->iter_list); msc 462 drivers/hwtracing/intel_th/msu.c mutex_unlock(&msc->buf_mutex); msc 467 drivers/hwtracing/intel_th/msu.c static void msc_iter_remove(struct msc_iter *iter, struct msc *msc) msc 469 drivers/hwtracing/intel_th/msu.c mutex_lock(&msc->buf_mutex); msc 471 drivers/hwtracing/intel_th/msu.c mutex_unlock(&msc->buf_mutex); msc 494 drivers/hwtracing/intel_th/msu.c static int msc_iter_win_start(struct msc_iter *iter, struct msc *msc) msc 500 drivers/hwtracing/intel_th/msu.c iter->start_win = msc_oldest_window(msc); msc 577 drivers/hwtracing/intel_th/msu.c struct msc *msc = iter->msc; msc 585 drivers/hwtracing/intel_th/msu.c if (msc_iter_win_start(iter, msc)) msc 650 drivers/hwtracing/intel_th/msu.c static void msc_buffer_clear_hw_header(struct msc *msc) msc 655 drivers/hwtracing/intel_th/msu.c list_for_each_entry(win, &msc->win_list, entry) { msc 668 drivers/hwtracing/intel_th/msu.c static int intel_th_msu_init(struct msc *msc) msc 672 drivers/hwtracing/intel_th/msu.c if (!msc->do_irq) msc 675 drivers/hwtracing/intel_th/msu.c if (!msc->mbuf) msc 678 drivers/hwtracing/intel_th/msu.c mintctl = ioread32(msc->msu_base + REG_MSU_MINTCTL); msc 679 drivers/hwtracing/intel_th/msu.c mintctl |= msc->index ? M1BLIE : M0BLIE; msc 680 drivers/hwtracing/intel_th/msu.c iowrite32(mintctl, msc->msu_base + REG_MSU_MINTCTL); msc 681 drivers/hwtracing/intel_th/msu.c if (mintctl != ioread32(msc->msu_base + REG_MSU_MINTCTL)) { msc 682 drivers/hwtracing/intel_th/msu.c dev_info(msc_dev(msc), "MINTCTL ignores writes: no usable interrupts\n"); msc 683 drivers/hwtracing/intel_th/msu.c msc->do_irq = 0; msc 687 drivers/hwtracing/intel_th/msu.c msusts = ioread32(msc->msu_base + REG_MSU_MSUSTS); msc 688 drivers/hwtracing/intel_th/msu.c iowrite32(msusts, msc->msu_base + REG_MSU_MSUSTS); msc 693 drivers/hwtracing/intel_th/msu.c static void intel_th_msu_deinit(struct msc *msc) msc 697 drivers/hwtracing/intel_th/msu.c if (!msc->do_irq) msc 700 drivers/hwtracing/intel_th/msu.c mintctl = ioread32(msc->msu_base + REG_MSU_MINTCTL); msc 701 drivers/hwtracing/intel_th/msu.c mintctl &= msc->index ? ~M1BLIE : ~M0BLIE; msc 702 drivers/hwtracing/intel_th/msu.c iowrite32(mintctl, msc->msu_base + REG_MSU_MINTCTL); msc 713 drivers/hwtracing/intel_th/msu.c if (!win->msc->mbuf) msc 727 drivers/hwtracing/intel_th/msu.c atomic_inc(&win->msc->user_count); msc 729 drivers/hwtracing/intel_th/msu.c atomic_dec(&win->msc->user_count); msc 742 drivers/hwtracing/intel_th/msu.c dev_warn_ratelimited(msc_dev(win->msc), msc 757 drivers/hwtracing/intel_th/msu.c static int msc_configure(struct msc *msc) msc 761 drivers/hwtracing/intel_th/msu.c lockdep_assert_held(&msc->buf_mutex); msc 763 drivers/hwtracing/intel_th/msu.c if (msc->mode > MSC_MODE_MULTI) msc 766 drivers/hwtracing/intel_th/msu.c if (msc->mode == MSC_MODE_MULTI) { msc 767 drivers/hwtracing/intel_th/msu.c if (msc_win_set_lockout(msc->cur_win, WIN_READY, WIN_INUSE)) msc 770 drivers/hwtracing/intel_th/msu.c msc_buffer_clear_hw_header(msc); msc 773 drivers/hwtracing/intel_th/msu.c msc->orig_addr = ioread32(msc->reg_base + REG_MSU_MSC0BAR); msc 774 drivers/hwtracing/intel_th/msu.c msc->orig_sz = ioread32(msc->reg_base + REG_MSU_MSC0SIZE); msc 776 drivers/hwtracing/intel_th/msu.c reg = msc->base_addr >> PAGE_SHIFT; msc 777 drivers/hwtracing/intel_th/msu.c iowrite32(reg, msc->reg_base + REG_MSU_MSC0BAR); msc 779 drivers/hwtracing/intel_th/msu.c if (msc->mode == MSC_MODE_SINGLE) { msc 780 drivers/hwtracing/intel_th/msu.c reg = msc->nr_pages; msc 781 drivers/hwtracing/intel_th/msu.c iowrite32(reg, msc->reg_base + REG_MSU_MSC0SIZE); msc 784 drivers/hwtracing/intel_th/msu.c reg = ioread32(msc->reg_base + REG_MSU_MSC0CTL); msc 788 drivers/hwtracing/intel_th/msu.c reg |= msc->mode << __ffs(MSC_MODE); msc 789 drivers/hwtracing/intel_th/msu.c reg |= msc->burst_len << __ffs(MSC_LEN); msc 791 drivers/hwtracing/intel_th/msu.c if (msc->wrap) msc 794 drivers/hwtracing/intel_th/msu.c iowrite32(reg, msc->reg_base + REG_MSU_MSC0CTL); msc 796 drivers/hwtracing/intel_th/msu.c intel_th_msu_init(msc); msc 798 drivers/hwtracing/intel_th/msu.c msc->thdev->output.multiblock = msc->mode == MSC_MODE_MULTI; msc 799 drivers/hwtracing/intel_th/msu.c intel_th_trace_enable(msc->thdev); msc 800 drivers/hwtracing/intel_th/msu.c msc->enabled = 1; msc 802 drivers/hwtracing/intel_th/msu.c if (msc->mbuf && msc->mbuf->activate) msc 803 drivers/hwtracing/intel_th/msu.c msc->mbuf->activate(msc->mbuf_priv); msc 815 drivers/hwtracing/intel_th/msu.c static void msc_disable(struct msc *msc) msc 817 drivers/hwtracing/intel_th/msu.c struct msc_window *win = msc->cur_win; msc 820 drivers/hwtracing/intel_th/msu.c lockdep_assert_held(&msc->buf_mutex); msc 822 drivers/hwtracing/intel_th/msu.c if (msc->mode == MSC_MODE_MULTI) msc 825 drivers/hwtracing/intel_th/msu.c if (msc->mbuf && msc->mbuf->deactivate) msc 826 drivers/hwtracing/intel_th/msu.c msc->mbuf->deactivate(msc->mbuf_priv); msc 827 drivers/hwtracing/intel_th/msu.c intel_th_msu_deinit(msc); msc 828 drivers/hwtracing/intel_th/msu.c intel_th_trace_disable(msc->thdev); msc 830 drivers/hwtracing/intel_th/msu.c if (msc->mode == MSC_MODE_SINGLE) { msc 831 drivers/hwtracing/intel_th/msu.c reg = ioread32(msc->reg_base + REG_MSU_MSC0STS); msc 832 drivers/hwtracing/intel_th/msu.c msc->single_wrap = !!(reg & MSCSTS_WRAPSTAT); msc 834 drivers/hwtracing/intel_th/msu.c reg = ioread32(msc->reg_base + REG_MSU_MSC0MWP); msc 835 drivers/hwtracing/intel_th/msu.c msc->single_sz = reg & ((msc->nr_pages << PAGE_SHIFT) - 1); msc 836 drivers/hwtracing/intel_th/msu.c dev_dbg(msc_dev(msc), "MSCnMWP: %08x/%08lx, wrap: %d\n", msc 837 drivers/hwtracing/intel_th/msu.c reg, msc->single_sz, msc->single_wrap); msc 840 drivers/hwtracing/intel_th/msu.c reg = ioread32(msc->reg_base + REG_MSU_MSC0CTL); msc 842 drivers/hwtracing/intel_th/msu.c iowrite32(reg, msc->reg_base + REG_MSU_MSC0CTL); msc 844 drivers/hwtracing/intel_th/msu.c if (msc->mbuf && msc->mbuf->ready) msc 845 drivers/hwtracing/intel_th/msu.c msc->mbuf->ready(msc->mbuf_priv, win->sgt, msc 848 drivers/hwtracing/intel_th/msu.c msc->enabled = 0; msc 850 drivers/hwtracing/intel_th/msu.c iowrite32(msc->orig_addr, msc->reg_base + REG_MSU_MSC0BAR); msc 851 drivers/hwtracing/intel_th/msu.c iowrite32(msc->orig_sz, msc->reg_base + REG_MSU_MSC0SIZE); msc 853 drivers/hwtracing/intel_th/msu.c dev_dbg(msc_dev(msc), "MSCnNWSA: %08x\n", msc 854 drivers/hwtracing/intel_th/msu.c ioread32(msc->reg_base + REG_MSU_MSC0NWSA)); msc 856 drivers/hwtracing/intel_th/msu.c reg = ioread32(msc->reg_base + REG_MSU_MSC0STS); msc 857 drivers/hwtracing/intel_th/msu.c dev_dbg(msc_dev(msc), "MSCnSTS: %08x\n", reg); msc 859 drivers/hwtracing/intel_th/msu.c reg = ioread32(msc->reg_base + REG_MSU_MSUSTS); msc 860 drivers/hwtracing/intel_th/msu.c reg &= msc->index ? MSUSTS_MSC1BLAST : MSUSTS_MSC0BLAST; msc 861 drivers/hwtracing/intel_th/msu.c iowrite32(reg, msc->reg_base + REG_MSU_MSUSTS); msc 866 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(&thdev->dev); msc 869 drivers/hwtracing/intel_th/msu.c if (!atomic_inc_unless_negative(&msc->user_count)) msc 872 drivers/hwtracing/intel_th/msu.c mutex_lock(&msc->buf_mutex); msc 875 drivers/hwtracing/intel_th/msu.c if (list_empty(&msc->iter_list)) msc 876 drivers/hwtracing/intel_th/msu.c ret = msc_configure(msc); msc 878 drivers/hwtracing/intel_th/msu.c mutex_unlock(&msc->buf_mutex); msc 881 drivers/hwtracing/intel_th/msu.c atomic_dec(&msc->user_count); msc 888 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(&thdev->dev); msc 890 drivers/hwtracing/intel_th/msu.c mutex_lock(&msc->buf_mutex); msc 891 drivers/hwtracing/intel_th/msu.c if (msc->enabled) { msc 892 drivers/hwtracing/intel_th/msu.c msc_disable(msc); msc 893 drivers/hwtracing/intel_th/msu.c atomic_dec(&msc->user_count); msc 895 drivers/hwtracing/intel_th/msu.c mutex_unlock(&msc->buf_mutex); msc 908 drivers/hwtracing/intel_th/msu.c static int msc_buffer_contig_alloc(struct msc *msc, unsigned long size) msc 918 drivers/hwtracing/intel_th/msu.c ret = sg_alloc_table(&msc->single_sgt, 1, GFP_KERNEL); msc 928 drivers/hwtracing/intel_th/msu.c sg_set_buf(msc->single_sgt.sgl, page_address(page), size); msc 930 drivers/hwtracing/intel_th/msu.c ret = dma_map_sg(msc_dev(msc)->parent->parent, msc->single_sgt.sgl, 1, msc 935 drivers/hwtracing/intel_th/msu.c msc->nr_pages = nr_pages; msc 936 drivers/hwtracing/intel_th/msu.c msc->base = page_address(page); msc 937 drivers/hwtracing/intel_th/msu.c msc->base_addr = sg_dma_address(msc->single_sgt.sgl); msc 945 drivers/hwtracing/intel_th/msu.c sg_free_table(&msc->single_sgt); msc 955 drivers/hwtracing/intel_th/msu.c static void msc_buffer_contig_free(struct msc *msc) msc 959 drivers/hwtracing/intel_th/msu.c dma_unmap_sg(msc_dev(msc)->parent->parent, msc->single_sgt.sgl, msc 961 drivers/hwtracing/intel_th/msu.c sg_free_table(&msc->single_sgt); msc 963 drivers/hwtracing/intel_th/msu.c for (off = 0; off < msc->nr_pages << PAGE_SHIFT; off += PAGE_SIZE) { msc 964 drivers/hwtracing/intel_th/msu.c struct page *page = virt_to_page(msc->base + off); msc 970 drivers/hwtracing/intel_th/msu.c msc->nr_pages = 0; msc 980 drivers/hwtracing/intel_th/msu.c static struct page *msc_buffer_contig_get_page(struct msc *msc, msc 983 drivers/hwtracing/intel_th/msu.c if (pgoff >= msc->nr_pages) msc 986 drivers/hwtracing/intel_th/msu.c return virt_to_page(msc->base + (pgoff << PAGE_SHIFT)); msc 1001 drivers/hwtracing/intel_th/msu.c block = dma_alloc_coherent(msc_dev(win->msc)->parent->parent, msc 1014 drivers/hwtracing/intel_th/msu.c dma_free_coherent(msc_dev(win->msc)->parent->parent, PAGE_SIZE, msc 1062 drivers/hwtracing/intel_th/msu.c static int msc_buffer_win_alloc(struct msc *msc, unsigned int nr_blocks) msc 1074 drivers/hwtracing/intel_th/msu.c win->msc = msc; msc 1079 drivers/hwtracing/intel_th/msu.c if (!list_empty(&msc->win_list)) { msc 1080 drivers/hwtracing/intel_th/msu.c struct msc_window *prev = list_last_entry(&msc->win_list, msc 1087 drivers/hwtracing/intel_th/msu.c if (msc->mbuf && msc->mbuf->alloc_window) msc 1088 drivers/hwtracing/intel_th/msu.c ret = msc->mbuf->alloc_window(msc->mbuf_priv, &win->sgt, msc 1101 drivers/hwtracing/intel_th/msu.c if (list_empty(&msc->win_list)) { msc 1102 drivers/hwtracing/intel_th/msu.c msc->base = msc_win_base(win); msc 1103 drivers/hwtracing/intel_th/msu.c msc->base_addr = msc_win_base_dma(win); msc 1104 drivers/hwtracing/intel_th/msu.c msc->cur_win = win; msc 1107 drivers/hwtracing/intel_th/msu.c list_add_tail(&win->entry, &msc->win_list); msc 1108 drivers/hwtracing/intel_th/msu.c msc->nr_pages += nr_blocks; msc 1118 drivers/hwtracing/intel_th/msu.c static void __msc_buffer_win_free(struct msc *msc, struct msc_window *win) msc 1127 drivers/hwtracing/intel_th/msu.c dma_free_coherent(msc_dev(win->msc)->parent->parent, PAGE_SIZE, msc 1141 drivers/hwtracing/intel_th/msu.c static void msc_buffer_win_free(struct msc *msc, struct msc_window *win) msc 1143 drivers/hwtracing/intel_th/msu.c msc->nr_pages -= win->nr_blocks; msc 1146 drivers/hwtracing/intel_th/msu.c if (list_empty(&msc->win_list)) { msc 1147 drivers/hwtracing/intel_th/msu.c msc->base = NULL; msc 1148 drivers/hwtracing/intel_th/msu.c msc->base_addr = 0; msc 1153 drivers/hwtracing/intel_th/msu.c if (msc->mbuf && msc->mbuf->free_window) msc 1154 drivers/hwtracing/intel_th/msu.c msc->mbuf->free_window(msc->mbuf_priv, win->sgt); msc 1156 drivers/hwtracing/intel_th/msu.c __msc_buffer_win_free(msc, win); msc 1168 drivers/hwtracing/intel_th/msu.c static void msc_buffer_relink(struct msc *msc) msc 1173 drivers/hwtracing/intel_th/msu.c list_for_each_entry(win, &msc->win_list, entry) { msc 1184 drivers/hwtracing/intel_th/msu.c next_win = list_first_entry(&msc->win_list, msc 1222 drivers/hwtracing/intel_th/msu.c static void msc_buffer_multi_free(struct msc *msc) msc 1226 drivers/hwtracing/intel_th/msu.c list_for_each_entry_safe(win, iter, &msc->win_list, entry) msc 1227 drivers/hwtracing/intel_th/msu.c msc_buffer_win_free(msc, win); msc 1230 drivers/hwtracing/intel_th/msu.c static int msc_buffer_multi_alloc(struct msc *msc, unsigned long *nr_pages, msc 1236 drivers/hwtracing/intel_th/msu.c ret = msc_buffer_win_alloc(msc, nr_pages[i]); msc 1238 drivers/hwtracing/intel_th/msu.c msc_buffer_multi_free(msc); msc 1243 drivers/hwtracing/intel_th/msu.c msc_buffer_relink(msc); msc 1257 drivers/hwtracing/intel_th/msu.c static void msc_buffer_free(struct msc *msc) msc 1259 drivers/hwtracing/intel_th/msu.c if (msc->mode == MSC_MODE_SINGLE) msc 1260 drivers/hwtracing/intel_th/msu.c msc_buffer_contig_free(msc); msc 1261 drivers/hwtracing/intel_th/msu.c else if (msc->mode == MSC_MODE_MULTI) msc 1262 drivers/hwtracing/intel_th/msu.c msc_buffer_multi_free(msc); msc 1281 drivers/hwtracing/intel_th/msu.c static int msc_buffer_alloc(struct msc *msc, unsigned long *nr_pages, msc 1287 drivers/hwtracing/intel_th/msu.c if (atomic_read(&msc->user_count) != -1) msc 1290 drivers/hwtracing/intel_th/msu.c if (msc->mode == MSC_MODE_SINGLE) { msc 1294 drivers/hwtracing/intel_th/msu.c ret = msc_buffer_contig_alloc(msc, nr_pages[0] << PAGE_SHIFT); msc 1295 drivers/hwtracing/intel_th/msu.c } else if (msc->mode == MSC_MODE_MULTI) { msc 1296 drivers/hwtracing/intel_th/msu.c ret = msc_buffer_multi_alloc(msc, nr_pages, nr_wins); msc 1305 drivers/hwtracing/intel_th/msu.c if (WARN_ON_ONCE(atomic_cmpxchg(&msc->user_count, -1, 0) != -1)) msc 1323 drivers/hwtracing/intel_th/msu.c static int msc_buffer_unlocked_free_unless_used(struct msc *msc) msc 1327 drivers/hwtracing/intel_th/msu.c count = atomic_cmpxchg(&msc->user_count, 0, -1); msc 1334 drivers/hwtracing/intel_th/msu.c msc_buffer_free(msc); msc 1346 drivers/hwtracing/intel_th/msu.c static int msc_buffer_free_unless_used(struct msc *msc) msc 1350 drivers/hwtracing/intel_th/msu.c mutex_lock(&msc->buf_mutex); msc 1351 drivers/hwtracing/intel_th/msu.c ret = msc_buffer_unlocked_free_unless_used(msc); msc 1352 drivers/hwtracing/intel_th/msu.c mutex_unlock(&msc->buf_mutex); msc 1367 drivers/hwtracing/intel_th/msu.c static struct page *msc_buffer_get_page(struct msc *msc, unsigned long pgoff) msc 1373 drivers/hwtracing/intel_th/msu.c if (msc->mode == MSC_MODE_SINGLE) msc 1374 drivers/hwtracing/intel_th/msu.c return msc_buffer_contig_get_page(msc, pgoff); msc 1376 drivers/hwtracing/intel_th/msu.c list_for_each_entry(win, &msc->win_list, entry) msc 1433 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(&thdev->dev); msc 1439 drivers/hwtracing/intel_th/msu.c iter = msc_iter_install(msc); msc 1451 drivers/hwtracing/intel_th/msu.c struct msc *msc = iter->msc; msc 1453 drivers/hwtracing/intel_th/msu.c msc_iter_remove(iter, msc); msc 1459 drivers/hwtracing/intel_th/msu.c msc_single_to_user(struct msc *msc, char __user *buf, loff_t off, size_t len) msc 1461 drivers/hwtracing/intel_th/msu.c unsigned long size = msc->nr_pages << PAGE_SHIFT, rem = len; msc 1464 drivers/hwtracing/intel_th/msu.c if (msc->single_wrap) { msc 1465 drivers/hwtracing/intel_th/msu.c start += msc->single_sz; msc 1468 drivers/hwtracing/intel_th/msu.c if (copy_to_user(buf, msc->base + start, tocopy)) msc 1478 drivers/hwtracing/intel_th/msu.c tocopy = min(rem, msc->single_sz - start); msc 1479 drivers/hwtracing/intel_th/msu.c if (copy_to_user(buf, msc->base + start, tocopy)) msc 1488 drivers/hwtracing/intel_th/msu.c if (copy_to_user(buf, msc->base + start, rem)) msc 1498 drivers/hwtracing/intel_th/msu.c struct msc *msc = iter->msc; msc 1503 drivers/hwtracing/intel_th/msu.c if (!atomic_inc_unless_negative(&msc->user_count)) msc 1506 drivers/hwtracing/intel_th/msu.c if (msc->mode == MSC_MODE_SINGLE && !msc->single_wrap) msc 1507 drivers/hwtracing/intel_th/msu.c size = msc->single_sz; msc 1509 drivers/hwtracing/intel_th/msu.c size = msc->nr_pages << PAGE_SHIFT; msc 1520 drivers/hwtracing/intel_th/msu.c if (msc->mode == MSC_MODE_SINGLE) { msc 1521 drivers/hwtracing/intel_th/msu.c ret = msc_single_to_user(msc, buf, off, len); msc 1524 drivers/hwtracing/intel_th/msu.c } else if (msc->mode == MSC_MODE_MULTI) { msc 1538 drivers/hwtracing/intel_th/msu.c atomic_dec(&msc->user_count); msc 1550 drivers/hwtracing/intel_th/msu.c struct msc *msc = iter->msc; msc 1552 drivers/hwtracing/intel_th/msu.c atomic_inc(&msc->mmap_count); msc 1558 drivers/hwtracing/intel_th/msu.c struct msc *msc = iter->msc; msc 1561 drivers/hwtracing/intel_th/msu.c if (!atomic_dec_and_mutex_lock(&msc->mmap_count, &msc->buf_mutex)) msc 1565 drivers/hwtracing/intel_th/msu.c for (pg = 0; pg < msc->nr_pages; pg++) { msc 1566 drivers/hwtracing/intel_th/msu.c struct page *page = msc_buffer_get_page(msc, pg); msc 1576 drivers/hwtracing/intel_th/msu.c atomic_dec(&msc->user_count); msc 1577 drivers/hwtracing/intel_th/msu.c mutex_unlock(&msc->buf_mutex); msc 1583 drivers/hwtracing/intel_th/msu.c struct msc *msc = iter->msc; msc 1585 drivers/hwtracing/intel_th/msu.c vmf->page = msc_buffer_get_page(msc, vmf->pgoff); msc 1606 drivers/hwtracing/intel_th/msu.c struct msc *msc = iter->msc; msc 1616 drivers/hwtracing/intel_th/msu.c if (!atomic_inc_unless_negative(&msc->user_count)) msc 1619 drivers/hwtracing/intel_th/msu.c if (msc->mode != MSC_MODE_SINGLE && msc 1620 drivers/hwtracing/intel_th/msu.c msc->mode != MSC_MODE_MULTI) msc 1623 drivers/hwtracing/intel_th/msu.c if (size >> PAGE_SHIFT != msc->nr_pages) msc 1626 drivers/hwtracing/intel_th/msu.c atomic_set(&msc->mmap_count, 1); msc 1631 drivers/hwtracing/intel_th/msu.c atomic_dec(&msc->user_count); msc 1650 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(&thdev->dev); msc 1656 drivers/hwtracing/intel_th/msu.c reg = __raw_readl(msc->reg_base + REG_MSU_MSC0STS); msc 1661 drivers/hwtracing/intel_th/msu.c dev_dbg(msc_dev(msc), "timeout waiting for MSC0 PLE\n"); msc 1664 drivers/hwtracing/intel_th/msu.c static int intel_th_msc_init(struct msc *msc) msc 1666 drivers/hwtracing/intel_th/msu.c atomic_set(&msc->user_count, -1); msc 1668 drivers/hwtracing/intel_th/msu.c msc->mode = MSC_MODE_MULTI; msc 1669 drivers/hwtracing/intel_th/msu.c mutex_init(&msc->buf_mutex); msc 1670 drivers/hwtracing/intel_th/msu.c INIT_LIST_HEAD(&msc->win_list); msc 1671 drivers/hwtracing/intel_th/msu.c INIT_LIST_HEAD(&msc->iter_list); msc 1673 drivers/hwtracing/intel_th/msu.c msc->burst_len = msc 1674 drivers/hwtracing/intel_th/msu.c (ioread32(msc->reg_base + REG_MSU_MSC0CTL) & MSC_LEN) >> msc 1680 drivers/hwtracing/intel_th/msu.c static int msc_win_switch(struct msc *msc) msc 1684 drivers/hwtracing/intel_th/msu.c if (list_empty(&msc->win_list)) msc 1687 drivers/hwtracing/intel_th/msu.c first = list_first_entry(&msc->win_list, struct msc_window, entry); msc 1689 drivers/hwtracing/intel_th/msu.c if (msc_is_last_win(msc->cur_win)) msc 1690 drivers/hwtracing/intel_th/msu.c msc->cur_win = first; msc 1692 drivers/hwtracing/intel_th/msu.c msc->cur_win = list_next_entry(msc->cur_win, entry); msc 1694 drivers/hwtracing/intel_th/msu.c msc->base = msc_win_base(msc->cur_win); msc 1695 drivers/hwtracing/intel_th/msu.c msc->base_addr = msc_win_base_dma(msc->cur_win); msc 1697 drivers/hwtracing/intel_th/msu.c intel_th_trace_switch(msc->thdev); msc 1709 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(dev); msc 1715 drivers/hwtracing/intel_th/msu.c win = msc_find_window(msc, sgt, false); msc 1725 drivers/hwtracing/intel_th/msu.c struct msc *msc = container_of(work, struct msc, work); msc 1727 drivers/hwtracing/intel_th/msu.c intel_th_msc_deactivate(msc->thdev); msc 1732 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(&thdev->dev); msc 1733 drivers/hwtracing/intel_th/msu.c u32 msusts = ioread32(msc->msu_base + REG_MSU_MSUSTS); msc 1734 drivers/hwtracing/intel_th/msu.c u32 mask = msc->index ? MSUSTS_MSC1BLAST : MSUSTS_MSC0BLAST; msc 1737 drivers/hwtracing/intel_th/msu.c if (!msc->do_irq || !msc->mbuf) msc 1743 drivers/hwtracing/intel_th/msu.c return msc->enabled ? IRQ_HANDLED : IRQ_NONE; msc 1745 drivers/hwtracing/intel_th/msu.c iowrite32(msusts, msc->msu_base + REG_MSU_MSUSTS); msc 1747 drivers/hwtracing/intel_th/msu.c if (!msc->enabled) msc 1751 drivers/hwtracing/intel_th/msu.c win = msc->cur_win; msc 1760 drivers/hwtracing/intel_th/msu.c schedule_work(&msc->work); msc 1767 drivers/hwtracing/intel_th/msu.c msc_win_switch(msc); msc 1769 drivers/hwtracing/intel_th/msu.c if (msc->mbuf && msc->mbuf->ready) msc 1770 drivers/hwtracing/intel_th/msu.c msc->mbuf->ready(msc->mbuf_priv, win->sgt, msc 1786 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(dev); msc 1788 drivers/hwtracing/intel_th/msu.c return scnprintf(buf, PAGE_SIZE, "%d\n", msc->wrap); msc 1795 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(dev); msc 1803 drivers/hwtracing/intel_th/msu.c msc->wrap = !!val; msc 1810 drivers/hwtracing/intel_th/msu.c static void msc_buffer_unassign(struct msc *msc) msc 1812 drivers/hwtracing/intel_th/msu.c lockdep_assert_held(&msc->buf_mutex); msc 1814 drivers/hwtracing/intel_th/msu.c if (!msc->mbuf) msc 1817 drivers/hwtracing/intel_th/msu.c msc->mbuf->unassign(msc->mbuf_priv); msc 1818 drivers/hwtracing/intel_th/msu.c msu_buffer_put(msc->mbuf); msc 1819 drivers/hwtracing/intel_th/msu.c msc->mbuf_priv = NULL; msc 1820 drivers/hwtracing/intel_th/msu.c msc->mbuf = NULL; msc 1826 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(dev); msc 1827 drivers/hwtracing/intel_th/msu.c const char *mode = msc_mode[msc->mode]; msc 1830 drivers/hwtracing/intel_th/msu.c mutex_lock(&msc->buf_mutex); msc 1831 drivers/hwtracing/intel_th/msu.c if (msc->mbuf) msc 1832 drivers/hwtracing/intel_th/msu.c mode = msc->mbuf->name; msc 1834 drivers/hwtracing/intel_th/msu.c mutex_unlock(&msc->buf_mutex); msc 1844 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(dev); msc 1867 drivers/hwtracing/intel_th/msu.c if (!msc->do_irq) { msc 1880 drivers/hwtracing/intel_th/msu.c mutex_lock(&msc->buf_mutex); msc 1884 drivers/hwtracing/intel_th/msu.c if (mbuf && mbuf == msc->mbuf) { msc 1890 drivers/hwtracing/intel_th/msu.c ret = msc_buffer_unlocked_free_unless_used(msc); msc 1902 drivers/hwtracing/intel_th/msu.c msc_buffer_unassign(msc); msc 1903 drivers/hwtracing/intel_th/msu.c msc->mbuf_priv = mbuf_priv; msc 1904 drivers/hwtracing/intel_th/msu.c msc->mbuf = mbuf; msc 1906 drivers/hwtracing/intel_th/msu.c msc_buffer_unassign(msc); msc 1909 drivers/hwtracing/intel_th/msu.c msc->mode = i; msc 1914 drivers/hwtracing/intel_th/msu.c mutex_unlock(&msc->buf_mutex); msc 1924 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(dev); msc 1928 drivers/hwtracing/intel_th/msu.c mutex_lock(&msc->buf_mutex); msc 1930 drivers/hwtracing/intel_th/msu.c if (msc->mode == MSC_MODE_SINGLE) msc 1931 drivers/hwtracing/intel_th/msu.c count = scnprintf(buf, PAGE_SIZE, "%ld\n", msc->nr_pages); msc 1932 drivers/hwtracing/intel_th/msu.c else if (msc->mode == MSC_MODE_MULTI) { msc 1933 drivers/hwtracing/intel_th/msu.c list_for_each_entry(win, &msc->win_list, entry) { msc 1942 drivers/hwtracing/intel_th/msu.c mutex_unlock(&msc->buf_mutex); msc 1951 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(dev); msc 1961 drivers/hwtracing/intel_th/msu.c ret = msc_buffer_free_unless_used(msc); msc 1984 drivers/hwtracing/intel_th/msu.c if (nr_wins && msc->mode == MSC_MODE_SINGLE) { msc 2007 drivers/hwtracing/intel_th/msu.c mutex_lock(&msc->buf_mutex); msc 2008 drivers/hwtracing/intel_th/msu.c ret = msc_buffer_alloc(msc, win, nr_wins); msc 2009 drivers/hwtracing/intel_th/msu.c mutex_unlock(&msc->buf_mutex); msc 2023 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(dev); msc 2035 drivers/hwtracing/intel_th/msu.c mutex_lock(&msc->buf_mutex); msc 2041 drivers/hwtracing/intel_th/msu.c if (msc->mode == MSC_MODE_MULTI && !msc->mbuf) msc 2042 drivers/hwtracing/intel_th/msu.c ret = msc_win_switch(msc); msc 2043 drivers/hwtracing/intel_th/msu.c mutex_unlock(&msc->buf_mutex); msc 2066 drivers/hwtracing/intel_th/msu.c struct msc *msc; msc 2078 drivers/hwtracing/intel_th/msu.c msc = devm_kzalloc(dev, sizeof(*msc), GFP_KERNEL); msc 2079 drivers/hwtracing/intel_th/msu.c if (!msc) msc 2084 drivers/hwtracing/intel_th/msu.c msc->do_irq = 1; msc 2086 drivers/hwtracing/intel_th/msu.c msc->index = thdev->id; msc 2088 drivers/hwtracing/intel_th/msu.c msc->thdev = thdev; msc 2089 drivers/hwtracing/intel_th/msu.c msc->reg_base = base + msc->index * 0x100; msc 2090 drivers/hwtracing/intel_th/msu.c msc->msu_base = base; msc 2092 drivers/hwtracing/intel_th/msu.c INIT_WORK(&msc->work, msc_work); msc 2093 drivers/hwtracing/intel_th/msu.c err = intel_th_msc_init(msc); msc 2097 drivers/hwtracing/intel_th/msu.c dev_set_drvdata(dev, msc); msc 2104 drivers/hwtracing/intel_th/msu.c struct msc *msc = dev_get_drvdata(&thdev->dev); msc 2114 drivers/hwtracing/intel_th/msu.c ret = msc_buffer_free_unless_used(msc); msc 80 drivers/iio/gyro/itg3200_buffer.c u8 msc; msc 82 drivers/iio/gyro/itg3200_buffer.c ret = itg3200_read_reg_8(indio_dev, ITG3200_REG_IRQ_CONFIG, &msc); msc 87 drivers/iio/gyro/itg3200_buffer.c msc |= ITG3200_IRQ_DATA_RDY_ENABLE; msc 89 drivers/iio/gyro/itg3200_buffer.c msc &= ~ITG3200_IRQ_DATA_RDY_ENABLE; msc 91 drivers/iio/gyro/itg3200_buffer.c ret = itg3200_write_reg_8(indio_dev, ITG3200_REG_IRQ_CONFIG, msc); msc 253 drivers/iio/imu/adis.c uint16_t msc; msc 258 drivers/iio/imu/adis.c ret = adis_read_reg_16(adis, adis->data->msc_ctrl_reg, &msc); msc 262 drivers/iio/imu/adis.c msc |= ADIS_MSC_CTRL_DATA_RDY_POL_HIGH; msc 263 drivers/iio/imu/adis.c msc &= ~ADIS_MSC_CTRL_DATA_RDY_DIO2; msc 265 drivers/iio/imu/adis.c msc |= ADIS_MSC_CTRL_DATA_RDY_EN; msc 267 drivers/iio/imu/adis.c msc &= ~ADIS_MSC_CTRL_DATA_RDY_EN; msc 269 drivers/iio/imu/adis.c ret = adis_write_reg_16(adis, adis->data->msc_ctrl_reg, msc); msc 1508 drivers/input/input.c INPUT_DEV_CAP_ATTR(MSC, msc); msc 2077 drivers/input/input.c INPUT_CLEANSE_BITMASK(dev, MSC, msc); msc 897 drivers/net/ethernet/renesas/ravb.h u8 msc; /* MAC status code */ msc 904 drivers/net/ethernet/renesas/ravb.h u8 msc; /* MAC status code */ msc 554 drivers/net/ethernet/renesas/ravb_main.c desc_status = desc->msc; msc 1028 net/bluetooth/rfcomm/core.c struct rfcomm_msc *msc; msc 1036 net/bluetooth/rfcomm/core.c hdr->len = __len8(sizeof(*mcc) + sizeof(*msc)); msc 1040 net/bluetooth/rfcomm/core.c mcc->len = __len8(sizeof(*msc)); msc 1042 net/bluetooth/rfcomm/core.c msc = (void *) ptr; ptr += sizeof(*msc); msc 1043 net/bluetooth/rfcomm/core.c msc->dlci = __addr(1, dlci); msc 1044 net/bluetooth/rfcomm/core.c msc->v24_sig = v24_sig | 0x01; msc 1574 net/bluetooth/rfcomm/core.c struct rfcomm_msc *msc = (void *) skb->data; msc 1576 net/bluetooth/rfcomm/core.c u8 dlci = __get_dlci(msc->dlci); msc 1578 net/bluetooth/rfcomm/core.c BT_DBG("dlci %d cr %d v24 0x%x", dlci, cr, msc->v24_sig); msc 1585 net/bluetooth/rfcomm/core.c if (msc->v24_sig & RFCOMM_V24_FC && !d->cfc) msc 1592 net/bluetooth/rfcomm/core.c d->remote_v24_sig = msc->v24_sig; msc 1595 net/bluetooth/rfcomm/core.c d->modem_status(d, msc->v24_sig); msc 1599 net/bluetooth/rfcomm/core.c rfcomm_send_msc(s, 0, dlci, msc->v24_sig);