Lines Matching refs:mc_io

12 static int fsl_mc_io_set_dpmcp(struct fsl_mc_io *mc_io,
17 if (mc_io->dpmcp_dev)
20 if (dpmcp_dev->mc_io)
23 error = dpmcp_open(mc_io,
30 mc_io->dpmcp_dev = dpmcp_dev;
31 dpmcp_dev->mc_io = mc_io;
35 static void fsl_mc_io_unset_dpmcp(struct fsl_mc_io *mc_io)
38 struct fsl_mc_device *dpmcp_dev = mc_io->dpmcp_dev;
40 error = dpmcp_close(mc_io,
48 mc_io->dpmcp_dev = NULL;
49 dpmcp_dev->mc_io = NULL;
72 struct fsl_mc_io *mc_io;
76 mc_io = devm_kzalloc(dev, sizeof(*mc_io), GFP_KERNEL);
77 if (!mc_io)
80 mc_io->dev = dev;
81 mc_io->flags = flags;
82 mc_io->portal_phys_addr = mc_portal_phys_addr;
83 mc_io->portal_size = mc_portal_size;
85 raw_spin_lock_init(&mc_io->spinlock);
87 mutex_init(&mc_io->mutex);
110 mc_io->portal_virt_addr = mc_portal_virt_addr;
112 error = fsl_mc_io_set_dpmcp(mc_io, dpmcp_dev);
117 *new_mc_io = mc_io;
121 fsl_destroy_mc_io(mc_io);
128 * @mc_io: MC I/O object to destroy
130 void fsl_destroy_mc_io(struct fsl_mc_io *mc_io)
134 if (!mc_io)
137 dpmcp_dev = mc_io->dpmcp_dev;
140 fsl_mc_io_unset_dpmcp(mc_io);
142 devm_iounmap(mc_io->dev, mc_io->portal_virt_addr);
143 devm_release_mem_region(mc_io->dev,
144 mc_io->portal_phys_addr,
145 mc_io->portal_size);
147 mc_io->portal_virt_addr = NULL;
148 devm_kfree(mc_io->dev, mc_io);
176 struct fsl_mc_io *mc_io = NULL;
213 mc_io_flags, &mc_io);
225 *new_mc_io = mc_io;
229 fsl_destroy_mc_io(mc_io);
240 * @mc_io: Pointer to the fsl_mc_io object that wraps the MC portal to free
242 void fsl_mc_portal_free(struct fsl_mc_io *mc_io)
248 * Every mc_io obtained by calling fsl_mc_portal_allocate() is supposed
251 dpmcp_dev = mc_io->dpmcp_dev;
260 fsl_destroy_mc_io(mc_io);
270 * @mc_io: Pointer to the fsl_mc_io object that wraps the MC portal to free
272 int fsl_mc_portal_reset(struct fsl_mc_io *mc_io)
275 struct fsl_mc_device *dpmcp_dev = mc_io->dpmcp_dev;
277 error = dpmcp_reset(mc_io, 0, dpmcp_dev->mc_handle);