Commit 5472b4db authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

media: atomisp: get rid of mmgr_load and mmgr_store



Those functions are just wrappers for hmm_load/hmm_store.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent b92d99ae
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -48,13 +48,13 @@ void debug_buffer_ddr_init(const hrt_vaddress addr)
	u32 tail = 0;
	/* set the ddr queue */
	debug_buffer_ddr_address = addr;
	mmgr_store(addr + DEBUG_DATA_BUF_MODE_DDR_ADDR,
	hmm_store(addr + DEBUG_DATA_BUF_MODE_DDR_ADDR,
		   &mode, sizeof(debug_buf_mode_t));
	mmgr_store(addr + DEBUG_DATA_HEAD_DDR_ADDR,
	hmm_store(addr + DEBUG_DATA_HEAD_DDR_ADDR,
		   &head, sizeof(uint32_t));
	mmgr_store(addr + DEBUG_DATA_TAIL_DDR_ADDR,
	hmm_store(addr + DEBUG_DATA_TAIL_DDR_ADDR,
		   &tail, sizeof(uint32_t));
	mmgr_store(addr + DEBUG_DATA_ENABLE_DDR_ADDR,
	hmm_store(addr + DEBUG_DATA_ENABLE_DDR_ADDR,
		   &enable, sizeof(uint32_t));

	/* set the local copy */
+4 −4
Original line number Diff line number Diff line
@@ -101,22 +101,22 @@ STORAGE_CLASS_DEBUG_C void debug_synch_queue_ddr(void)
{
	u32	remote_tail;

	mmgr_load(debug_buffer_ddr_address + DEBUG_DATA_TAIL_DDR_ADDR, &remote_tail,
	hmm_load(debug_buffer_ddr_address + DEBUG_DATA_TAIL_DDR_ADDR, &remote_tail,
		  sizeof(uint32_t));
	/* We could move the remote head after the upload, but we would have to limit the upload w.r.t. the local head. This is easier */
	if (remote_tail > debug_data_ptr->tail) {
		size_t	delta = remote_tail - debug_data_ptr->tail;

		mmgr_load(debug_buffer_ddr_address + DEBUG_DATA_BUF_DDR_ADDR +
		hmm_load(debug_buffer_ddr_address + DEBUG_DATA_BUF_DDR_ADDR +
			  debug_data_ptr->tail * sizeof(uint32_t),
			  (void *)&debug_data_ptr->buf[debug_data_ptr->tail], delta * sizeof(uint32_t));
	} else if (remote_tail < debug_data_ptr->tail) {
		size_t	delta = DEBUG_BUF_SIZE - debug_data_ptr->tail;

		mmgr_load(debug_buffer_ddr_address + DEBUG_DATA_BUF_DDR_ADDR +
		hmm_load(debug_buffer_ddr_address + DEBUG_DATA_BUF_DDR_ADDR +
			  debug_data_ptr->tail * sizeof(uint32_t),
			  (void *)&debug_data_ptr->buf[debug_data_ptr->tail], delta * sizeof(uint32_t));
		mmgr_load(debug_buffer_ddr_address + DEBUG_DATA_BUF_DDR_ADDR,
		hmm_load(debug_buffer_ddr_address + DEBUG_DATA_BUF_DDR_ADDR,
			  (void *)&debug_data_ptr->buf[0],
			  remote_tail * sizeof(uint32_t));
	} /* else we are up to date */
+0 −20
Original line number Diff line number Diff line
@@ -91,24 +91,4 @@

hrt_vaddress mmgr_alloc_attr(const size_t size, const uint16_t attribute);

/*! Read an array of bytes from a virtual memory address

 \param	vaddr[in]		Address of an allocation
 \param	data[out]		pointer to the destination array
 \param	size[in]		number of bytes to read

 \return none
 */
void mmgr_load(const hrt_vaddress vaddr, void *data, const size_t size);

/*! Write an array of bytes to device registers or memory in the device

 \param	vaddr[in]		Address of an allocation
 \param	data[in]		pointer to the source array
 \param	size[in]		number of bytes to write

 \return none
 */
void mmgr_store(const hrt_vaddress vaddr, const void *data, const size_t size);

#endif /* __MEMORY_ACCESS_H_INCLUDED__ */
+17 −1
Original line number Diff line number Diff line
@@ -403,9 +403,14 @@ static int load_and_flush(ia_css_ptr virt, void *data, unsigned int bytes)
/* Read function in ISP memory management */
int hmm_load(ia_css_ptr virt, void *data, unsigned int bytes)
{
	if (!virt) {
		dev_warn(atomisp_dev,
			"hmm_store: address is NULL\n");
		return -EINVAL;
	}
	if (!data) {
		dev_err(atomisp_dev,
			"hmm_load NULL argument\n");
			"hmm_store: data is a NULL argument\n");
		return -EINVAL;
	}
	return load_and_flush(virt, data, bytes);
@@ -425,6 +430,17 @@ int hmm_store(ia_css_ptr virt, const void *data, unsigned int bytes)
	char *src, *des;
	int ret;

	if (!virt) {
		dev_warn(atomisp_dev,
			"hmm_store: address is NULL\n");
		return -EINVAL;
	}
	if (!data) {
		dev_err(atomisp_dev,
			"hmm_store: data is a NULL argument\n");
		return -EINVAL;
	}

	bo = hmm_bo_device_search_in_range(&bo_device, virt);
	ret = hmm_check_bo(bo, virt);
	if (ret)
+0 −13
Original line number Diff line number Diff line
@@ -18,16 +18,3 @@ hrt_vaddress mmgr_alloc_attr(const size_t size, const uint16_t attrs)
{
	return hmm_alloc(size, HMM_BO_PRIVATE, 0, NULL, attrs);
}

void mmgr_load(const hrt_vaddress vaddr, void *data, const size_t size)
{
	if (vaddr && data)
		hmm_load(vaddr, data, size);
}

void
mmgr_store(const hrt_vaddress vaddr, const void *data, const size_t size)
{
	if (vaddr && data)
		hmm_store(vaddr, data, size);
}
Loading