本文整理汇总了C++中JPEG_DBG函数的典型用法代码示例。如果您正苦于以下问题:C++ JPEG_DBG函数的具体用法?C++ JPEG_DBG怎么用?C++ JPEG_DBG使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了JPEG_DBG函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: msm_jpeg_subdev_release
void msm_jpeg_subdev_release(struct v4l2_subdev *jpeg_sd)
{
int rc;
struct msm_jpeg_device *pgmn_dev =
(struct msm_jpeg_device *)jpeg_sd->host_priv;
JPEG_DBG("%s:pgmn_dev=0x%lx", __func__, (unsigned long)pgmn_dev);
rc = __msm_jpeg_release(pgmn_dev);
JPEG_DBG("%s:rc=%d", __func__, rc);
}
示例2: msm_jpeg_set_init_dt_parms
/*
* msm_jpeg_set_init_dt_parms() - get device tree config and write to registers.
* @pgmn_dev: Pointer to jpeg device.
* @dt_prop_name: Device tree property name.
* @base: Base address.
*
* This function reads register offsets and values from dtsi based on
* device tree property name and writes to jpeg registers.
*
* Return: 0 on success and negative error on failure.
*/
static int32_t msm_jpeg_set_init_dt_parms(struct msm_jpeg_device *pgmn_dev,
const char *dt_prop_name,
void *base)
{
struct device_node *of_node;
int32_t i = 0 , rc = 0;
uint32_t *dt_reg_settings = NULL;
uint32_t dt_count = 0;
of_node = pgmn_dev->pdev->dev.of_node;
JPEG_DBG("%s:%d E\n", __func__, __LINE__);
if (!of_get_property(of_node, dt_prop_name,
&dt_count)) {
JPEG_DBG("%s: Error property does not exist\n",
__func__);
return -ENOENT;
}
if (dt_count % 8) {
JPEG_PR_ERR("%s: Error invalid entries\n",
__func__);
return -EINVAL;
}
dt_count /= 4;
if (dt_count != 0) {
dt_reg_settings = kcalloc(dt_count, sizeof(uint32_t),
GFP_KERNEL);
if (!dt_reg_settings) {
JPEG_PR_ERR("%s:%d No memory\n",
__func__, __LINE__);
return -ENOMEM;
}
rc = of_property_read_u32_array(of_node,
dt_prop_name,
dt_reg_settings,
dt_count);
if (rc < 0) {
JPEG_PR_ERR("%s: No reg info\n",
__func__);
kfree(dt_reg_settings);
return -EINVAL;
}
for (i = 0; i < dt_count; i = i + 2) {
JPEG_DBG("%s:%d] %p %08x\n",
__func__, __LINE__,
base + dt_reg_settings[i],
dt_reg_settings[i + 1]);
msm_camera_io_w(dt_reg_settings[i + 1],
base + dt_reg_settings[i]);
}
kfree(dt_reg_settings);
}
return 0;
}
示例3: msm_jpeg_subdev_init
int msm_jpeg_subdev_init(struct v4l2_subdev *jpeg_sd)
{
int rc;
struct msm_jpeg_device *pgmn_dev =
(struct msm_jpeg_device *)jpeg_sd->host_priv;
JPEG_DBG("%s:%d: jpeg_sd=0x%x pgmn_dev=0x%x\n",
__func__, __LINE__, (uint32_t)jpeg_sd, (uint32_t)pgmn_dev);
rc = __msm_jpeg_open(pgmn_dev);
JPEG_DBG("%s:%d: rc=%d\n",
__func__, __LINE__, rc);
return rc;
}
示例4: msm_jpeg_ioctl
static long msm_jpeg_ioctl(struct file *filp, unsigned int cmd,
unsigned long arg)
{
int rc;
struct msm_jpeg_device *pgmn_dev = filp->private_data;
JPEG_DBG("%s:%d] cmd=%d pgmn_dev=0x%x arg=0x%x\n", __func__,
__LINE__, _IOC_NR(cmd), (uint32_t)pgmn_dev, (uint32_t)arg);
rc = __msm_jpeg_ioctl(pgmn_dev, cmd, arg);
JPEG_DBG("%s:%d]\n", __func__, __LINE__);
return rc;
}
示例5: msm_jpeg_release
static int msm_jpeg_release(struct inode *inode, struct file *filp)
{
int rc;
struct msm_jpeg_device *pgmn_dev = filp->private_data;
JPEG_DBG(KERN_INFO "%s:%d]\n", __func__, __LINE__);
rc = __msm_jpeg_release(pgmn_dev);
JPEG_DBG(KERN_INFO "%s:%d] %s open_count = %d\n", __func__, __LINE__,
filp->f_path.dentry->d_name.name, pgmn_dev->open_count);
return rc;
}
示例6: msm_jpeg_get_clk_info
static int msm_jpeg_get_clk_info(struct msm_jpeg_device *jpeg_dev,
struct platform_device *pdev)
{
uint32_t count;
int i, rc;
uint32_t rates[JPEG_CLK_INFO_MAX];
struct device_node *of_node;
of_node = pdev->dev.of_node;
count = of_property_count_strings(of_node, "clock-names");
JPEG_DBG("count = %d\n", count);
if (count == 0) {
pr_err("no clocks found in device tree, count=%d", count);
return 0;
}
if (count > JPEG_CLK_INFO_MAX) {
pr_err("invalid count=%d, max is %d\n", count,
JPEG_CLK_INFO_MAX);
return -EINVAL;
}
for (i = 0; i < count; i++) {
rc = of_property_read_string_index(of_node, "clock-names",
i, &(jpeg_8x_clk_info[i].clk_name));
JPEG_DBG("clock-names[%d] = %s\n",
i, jpeg_8x_clk_info[i].clk_name);
if (rc < 0) {
pr_err("%s failed %d\n", __func__, __LINE__);
return rc;
}
}
rc = of_property_read_u32_array(of_node, "qcom,clock-rates",
rates, count);
if (rc < 0) {
pr_err("%s failed %d\n", __func__, __LINE__);
return rc;
}
for (i = 0; i < count; i++) {
jpeg_8x_clk_info[i].clk_rate =
(rates[i] == 0) ? -1 : rates[i];
JPEG_DBG("clk_rate[%d] = %ld\n",
i, jpeg_8x_clk_info[i].clk_rate);
}
jpeg_dev->num_clk = count;
return 0;
}
示例7: msm_jpeg_detach_iommu
static int msm_jpeg_detach_iommu(struct msm_jpeg_device *pgmn_dev)
{
JPEG_DBG("%s:%d] handle %d detach\n",
__func__, __LINE__, pgmn_dev->iommu_hdl);
cam_smmu_ops(pgmn_dev->iommu_hdl, CAM_SMMU_DETACH);
return 0;
}
示例8: msm_jpeg_hw_irq_clear
void msm_jpeg_hw_irq_clear(uint32_t mask, uint32_t data, void *base)
{
JPEG_DBG("%s:%d] mask %0x data %0x", __func__, __LINE__, mask, data);
hw_cmd_irq_clear[0].mask = mask;
hw_cmd_irq_clear[0].data = data;
msm_jpeg_hw_write(&hw_cmd_irq_clear[0], base);
}
示例9: msm_jpeg_platform_v2p
uint32_t msm_jpeg_platform_v2p(struct msm_jpeg_device *pgmn_dev, int fd,
uint32_t len, int iommu_hdl)
{
dma_addr_t paddr;
size_t size;
int rc;
rc = cam_smmu_get_phy_addr(pgmn_dev->iommu_hdl, fd, CAM_SMMU_MAP_RW,
&paddr, &size);
JPEG_DBG("%s:%d] addr 0x%x size %zu", __func__, __LINE__,
(uint32_t)paddr, size);
if (rc < 0) {
JPEG_PR_ERR("%s: fd %d got phy addr error %d\n", __func__, fd,
rc);
goto err_get_phy;
}
/* validate user input */
if (len > size) {
JPEG_PR_ERR("%s: invalid offset + len\n", __func__);
goto err_size;
}
return paddr;
err_size:
cam_smmu_put_phy_addr(pgmn_dev->iommu_hdl, fd);
err_get_phy:
return 0;
}
示例10: msm_jpeg_platform_set_clk_rate
int msm_jpeg_platform_set_clk_rate(struct msm_jpeg_device *pgmn_dev,
long clk_rate)
{
int rc = 0;
struct clk *jpeg_clk;
jpeg_clk = clk_get(&pgmn_dev->pdev->dev, "core_clk");
if (IS_ERR(jpeg_clk)) {
JPEG_PR_ERR("%s get failed\n", "core_clk");
rc = PTR_ERR(jpeg_clk);
goto error;
}
clk_rate = clk_round_rate(jpeg_clk, clk_rate);
if (clk_rate < 0) {
JPEG_PR_ERR("%s:%d] round rate failed", __func__, __LINE__);
rc = -EINVAL;
goto error;
}
JPEG_DBG("%s:%d] jpeg clk rate %ld", __func__, __LINE__, clk_rate);
rc = clk_set_rate(jpeg_clk, clk_rate);
error:
return rc;
}
示例11: msm_jpeg_subdev_ioctl
static long msm_jpeg_subdev_ioctl(struct v4l2_subdev *sd,
unsigned int cmd, void *arg)
{
long rc;
struct msm_jpeg_device *pgmn_dev =
(struct msm_jpeg_device *)sd->host_priv;
JPEG_DBG("%s: cmd=%d\n", __func__, cmd);
JPEG_DBG("%s: pgmn_dev 0x%lx", __func__, (unsigned long)pgmn_dev);
JPEG_DBG("%s: Calling __msm_jpeg_ioctl\n", __func__);
rc = __msm_jpeg_ioctl(pgmn_dev, cmd, (unsigned long)arg);
pr_debug("%s: X\n", __func__);
return rc;
}
示例12: msm_jpeg_open
static int msm_jpeg_open(struct inode *inode, struct file *filp)
{
int rc = 0;
struct msm_jpeg_device *pgmn_dev = container_of(inode->i_cdev,
struct msm_jpeg_device, cdev);
filp->private_data = pgmn_dev;
JPEG_DBG("%s:%d]\n", __func__, __LINE__);
rc = __msm_jpeg_open(pgmn_dev);
JPEG_DBG(KERN_INFO "%s:%d] %s open_count = %d\n", __func__, __LINE__,
filp->f_path.dentry->d_name.name, pgmn_dev->open_count);
return rc;
}
示例13: msm_jpeg_q_init
inline void msm_jpeg_q_init(char const *name, struct msm_jpeg_q *q_p)
{
JPEG_DBG("%s:%d] %s\n", __func__, __LINE__, name);
q_p->name = name;
spin_lock_init(&q_p->lck);
INIT_LIST_HEAD(&q_p->q);
init_waitqueue_head(&q_p->wait);
q_p->unblck = 0;
}
示例14: msm_jpeg_platform_release
int msm_jpeg_platform_release(struct resource *mem, void *base, int irq,
void *context)
{
int result = 0;
int i = 0;
struct msm_jpeg_device *pgmn_dev =
(struct msm_jpeg_device *) context;
free_irq(irq, context);
#ifdef CONFIG_MSM_IOMMU
for (i = 0; i < pgmn_dev->iommu_cnt; i++) {
iommu_detach_device(pgmn_dev->domain,
pgmn_dev->iommu_ctx_arr[i]);
JPEG_DBG("%s:%d]", __func__, __LINE__);
}
#endif
if (pgmn_dev->jpeg_bus_client) {
msm_bus_scale_client_update_request(
pgmn_dev->jpeg_bus_client, 0);
msm_bus_scale_unregister_client(pgmn_dev->jpeg_bus_client);
}
msm_cam_clk_enable(&pgmn_dev->pdev->dev, jpeg_8x_clk_info,
pgmn_dev->jpeg_clk, ARRAY_SIZE(jpeg_8x_clk_info), 0);
JPEG_DBG("%s:%d] clock disbale done", __func__, __LINE__);
if (pgmn_dev->jpeg_fs) {
result = regulator_disable(pgmn_dev->jpeg_fs);
if (!result)
regulator_put(pgmn_dev->jpeg_fs);
else
JPEG_PR_ERR("%s:%d] regulator disable failed %d",
__func__, __LINE__, result);
pgmn_dev->jpeg_fs = NULL;
}
iounmap(pgmn_dev->jpeg_vbif);
iounmap(base);
release_mem_region(mem->start, resource_size(mem));
ion_client_destroy(pgmn_dev->jpeg_client);
pgmn_dev->state = MSM_JPEG_IDLE;
JPEG_DBG("%s:%d] success\n", __func__, __LINE__);
return result;
}
示例15: msm_jpeg_attach_iommu
static int msm_jpeg_attach_iommu(struct msm_jpeg_device *pgmn_dev)
{
int rc;
rc = cam_smmu_ops(pgmn_dev->iommu_hdl, CAM_SMMU_ATTACH);
if (rc < 0) {
JPEG_PR_ERR("%s: Device attach failed\n", __func__);
return -ENODEV;
}
JPEG_DBG("%s:%d] handle %d attach\n",
__func__, __LINE__, pgmn_dev->iommu_hdl);
return 0;
}