Searched refs:dmfc (Results 1 - 6 of 6) sorted by relevance
/linux-4.4.14/drivers/gpu/ipu-v3/ |
H A D | ipu-dmfc.c | 125 int ipu_dmfc_enable_channel(struct dmfc_channel *dmfc) ipu_dmfc_enable_channel() argument 127 struct ipu_dmfc_priv *priv = dmfc->priv; ipu_dmfc_enable_channel() 155 void ipu_dmfc_disable_channel(struct dmfc_channel *dmfc) ipu_dmfc_disable_channel() argument 157 struct ipu_dmfc_priv *priv = dmfc->priv; ipu_dmfc_disable_channel() 175 static int ipu_dmfc_setup_channel(struct dmfc_channel *dmfc, int slots, ipu_dmfc_setup_channel() argument 178 struct ipu_dmfc_priv *priv = dmfc->priv; ipu_dmfc_setup_channel() 182 "dmfc: using %d slots starting from segment %d for IPU channel %d\n", ipu_dmfc_setup_channel() 183 slots, segment, dmfc->data->ipu_channel); ipu_dmfc_setup_channel() 219 val = readl(priv->base + dmfc->data->channel_reg); ipu_dmfc_setup_channel() 221 val &= ~(0xff << dmfc->data->shift); ipu_dmfc_setup_channel() 222 val |= field << dmfc->data->shift; ipu_dmfc_setup_channel() 224 writel(val, priv->base + dmfc->data->channel_reg); ipu_dmfc_setup_channel() 226 dmfc->slots = slots; ipu_dmfc_setup_channel() 227 dmfc->segment = segment; ipu_dmfc_setup_channel() 228 dmfc->burstsize = burstsize; ipu_dmfc_setup_channel() 229 dmfc->slotmask = ((1 << slots) - 1) << segment; ipu_dmfc_setup_channel() 266 void ipu_dmfc_free_bandwidth(struct dmfc_channel *dmfc) ipu_dmfc_free_bandwidth() argument 268 struct ipu_dmfc_priv *priv = dmfc->priv; ipu_dmfc_free_bandwidth() 271 dev_dbg(priv->dev, "dmfc: freeing %d slots starting from segment %d\n", ipu_dmfc_free_bandwidth() 272 dmfc->slots, dmfc->segment); ipu_dmfc_free_bandwidth() 276 if (!dmfc->slots) ipu_dmfc_free_bandwidth() 279 dmfc->slotmask = 0; ipu_dmfc_free_bandwidth() 280 dmfc->slots = 0; ipu_dmfc_free_bandwidth() 281 dmfc->segment = 0; ipu_dmfc_free_bandwidth() 308 int ipu_dmfc_alloc_bandwidth(struct dmfc_channel *dmfc, ipu_dmfc_alloc_bandwidth() argument 311 struct ipu_dmfc_priv *priv = dmfc->priv; ipu_dmfc_alloc_bandwidth() 315 dev_dbg(priv->dev, "dmfc: trying to allocate %ldMpixel/s for IPU channel %d\n", ipu_dmfc_alloc_bandwidth() 317 dmfc->data->ipu_channel); ipu_dmfc_alloc_bandwidth() 319 ipu_dmfc_free_bandwidth(dmfc); ipu_dmfc_alloc_bandwidth() 329 if (dmfc->data->ipu_channel == IPUV3_CHANNEL_MEM_BG_SYNC) ipu_dmfc_alloc_bandwidth() 344 ipu_dmfc_setup_channel(dmfc, slots, segment, burstsize); ipu_dmfc_alloc_bandwidth() 353 int ipu_dmfc_init_channel(struct dmfc_channel *dmfc, int width) ipu_dmfc_init_channel() argument 355 struct ipu_dmfc_priv *priv = dmfc->priv; ipu_dmfc_init_channel() 360 if ((dmfc->slots * 64 * 4) / width > dmfc->data->max_fifo_lines) ipu_dmfc_init_channel() 361 dmfc_gen1 |= 1 << dmfc->data->eot_shift; ipu_dmfc_init_channel() 363 dmfc_gen1 &= ~(1 << dmfc->data->eot_shift); ipu_dmfc_init_channel() 383 void ipu_dmfc_put(struct dmfc_channel *dmfc) ipu_dmfc_put() argument 385 ipu_dmfc_free_bandwidth(dmfc); ipu_dmfc_put() 424 dev_dbg(dev, "dmfc: 8 slots with %ldMpixel/s bandwidth each\n", ipu_dmfc_init()
|
H A D | Makefile | 4 ipu-dp.o ipu-dmfc.o ipu-ic.o ipu-smfc.o
|
H A D | ipu-common.c | 860 unit = "dmfc"; ipu_submodules_init() 1268 dev_dbg(&pdev->dev, "dmfc: 0x%08lx\n", ipu_probe()
|
/linux-4.4.14/drivers/gpu/drm/imx/ |
H A D | ipuv3-plane.c | 203 ret = ipu_dmfc_init_channel(ipu_plane->dmfc, crtc_w); ipu_plane_mode_set() 205 dev_err(dev, "initializing dmfc channel failed with %d\n", ret); ipu_plane_mode_set() 209 ret = ipu_dmfc_alloc_bandwidth(ipu_plane->dmfc, ipu_plane_mode_set() 213 dev_err(dev, "allocating dmfc bandwidth failed with %d\n", ret); ipu_plane_mode_set() 245 if (!IS_ERR_OR_NULL(ipu_plane->dmfc)) ipu_plane_put_resources() 246 ipu_dmfc_put(ipu_plane->dmfc); ipu_plane_put_resources() 262 ipu_plane->dmfc = ipu_dmfc_get(ipu_plane->ipu, ipu_plane->dma); ipu_plane_get_resources() 263 if (IS_ERR(ipu_plane->dmfc)) { ipu_plane_get_resources() 264 ret = PTR_ERR(ipu_plane->dmfc); ipu_plane_get_resources() 265 DRM_ERROR("failed to get dmfc: ret %d\n", ret); ipu_plane_get_resources() 289 ipu_dmfc_enable_channel(ipu_plane->dmfc); ipu_plane_enable() 306 ipu_dmfc_disable_channel(ipu_plane->dmfc); ipu_plane_disable()
|
H A D | ipuv3-plane.h | 21 struct dmfc_channel *dmfc; member in struct:ipu_plane
|
/linux-4.4.14/include/video/ |
H A D | imx-ipu-v3.h | 232 * IPU Display Multi FIFO Controller (dmfc) functions 235 int ipu_dmfc_enable_channel(struct dmfc_channel *dmfc); 236 void ipu_dmfc_disable_channel(struct dmfc_channel *dmfc); 237 int ipu_dmfc_alloc_bandwidth(struct dmfc_channel *dmfc, 239 void ipu_dmfc_free_bandwidth(struct dmfc_channel *dmfc); 240 int ipu_dmfc_init_channel(struct dmfc_channel *dmfc, int width); 242 void ipu_dmfc_put(struct dmfc_channel *dmfc);
|
Completed in 147 milliseconds