12 Feb, 2019
40 commits
-
This patch does not change any functionality.
Reviewed-by: Christoph Hellwig
Signed-off-by: Bart Van Assche
Signed-off-by: Jens Axboe
(cherry picked from commit 14a23498ba97683c6790b1bcd8b2cdfe9ad99797) -
These two functions are only called from inside the block layer so
unexport them.Reviewed-by: Christoph Hellwig
Signed-off-by: Bart Van Assche
Signed-off-by: Jens Axboe
(cherry picked from commit 83d016ac86428dbca8a62d3e4fdc29e3ea39e535) -
Fix bug of commit 74d46992e0d9 ("block: replace bi_bdev with a gendisk
pointer and partitions index").bio_dev(bio) is used to find the dev state in function
__btrfsic_submit_bio. But when dev_state is added to the hashtable, it
is using dev_t of block_device.bio_dev(bio) returns a dev_t of part0 which is different from dev_t in
block_device(bd_dev). bd_dev in block_device represents the exact
partition.block_device.bd_dev =
bio->bi_partno (same as block_device.bd_partno) + bio_dev(bio).When adding a dev_state into hashtable, we use the exact partition dev_t.
So when looking it up, it should also use the exact partition dev_t.Reproducer of this bug:
Use MOUNT_OPTIONS="-o check_int" and run btrfs/001 in fstests.
Then there will be WARNING like below.WARNING:
btrfs: attempt to write superblock which references block M @29523968 (sda7 /1111654400/2) which is never written!Signed-off-by: Gu JinXiang
Reviewed-by: David Sterba
Signed-off-by: David Sterba
(cherry picked from commit d28e649a5c58b779b303c252c66ee84a0f2c3b32) -
Fix a typo in pkt_start_recovery.
Fixes: 74d46992e0d9 ("block: replace bi_bdev with a gendisk pointer and partitions index")
Reviewed-by: Christoph Hellwig
Signed-off-by: Jiufei Xue
Signed-off-by: Jens Axboe
(cherry picked from commit 158e61865a31ef7abf39629c37285810504d60b5) -
According to ADD, the audio ahb and ipg clock should be in 1:1 mode
and the frequency is 400MHzSigned-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
(cherry picked from commit ee175a8cea1a7d27954a73c3447bb16edd71f4c8) -
add new dts for m4 audio playback
Signed-off-by: Shengjiu Wang
(cherry picked from commit 7343c0bd256d7ade1152f83bd0eb395d29e03620) -
support codec over rpmsg
Signed-off-by: Shengjiu Wang
(cherry picked from commit 0b2238d0b88b19a1134aee54706b64a322c6e51b) -
update the rpmsg codec name
Signed-off-by: Shengjiu Wang
(cherry picked from commit 6130b919df97b127fafe319f0c2ff601ebc6bed2) -
support codec through rpmsg
Signed-off-by: Shengjiu Wang
(cherry picked from commit 8585d67e54c4c3607990a792718992de8be8fe58) -
support more codecs, codec is specified by compatible string
Signed-off-by: Shengjiu Wang
(cherry picked from commit 7c92a75fcf83ec0aa3fe6773e4cb5f5e88a1ff09) -
register rpmsg wm8960 and cs42xx8 codec
Signed-off-by: Shengjiu Wang
(cherry picked from commit c49f8d20c6fd4479ad45d76290bb5c57d4800d9e) -
The difference of rpmsg_cs42xx8 and cs42xx8 driver is previous one
will send command through rpmsg, others are same.Signed-off-by: Shengjiu Wang
(cherry picked from commit dda40ff395bb1d86fc75920bb2bc2ea99099ed4b) -
The difference of rpmsg_wm8960 and wm8960 driver is previous one
will send command through rpmsg, others are same.Signed-off-by: Shengjiu Wang
(cherry picked from commit 094521755ae806a572fd841455371b23408c36d1) -
The format send to M4 through rpmsg is wrong, that make the
driver treat the data as S32_LE, it looks like data is right
shift 8 bit.Signed-off-by: Shengjiu Wang
(cherry picked from commit 508550b70e80339d3d49594ffc23946dd80b0c82) -
With the 800M clock source, there is noise on SAI5 (PDM, or AK5558)
recording with some chips, but it may be ok for other chips.
The reason is not clear.
This patch is to switch the clock source to 500M.Signed-off-by: Shengjiu Wang
(cherry picked from commit 3f4e34d26ceb8569eeb6cbb2e5a410d0332a9e62) -
There is a change in imx8mm evk revb board, which is to add a i2c
control for power enablement of audio board, that software can
control the power of audio board, which can resolve the issue that
with audio board the cpu board can't reboot issue.In this patch add power supply for each AK series codecs
Signed-off-by: Shengjiu Wang
(cherry picked from commit 1d3d7e6d6ecd0ab62fb9bb568a5afeb2fbeda1ca) -
add regulators for ak5558
Signed-off-by: Shengjiu Wang
(cherry picked from commit 914f117ffb4233ba630515d8426d30006a82794f) -
add regulators for ak4497
Signed-off-by: Shengjiu Wang
(cherry picked from commit c33df8b3f4a05ff9a6f12bb66ac9b5f6fcaaaf3e) -
add regulator for ak4458
Signed-off-by: Shengjiu Wang
(cherry picked from commit 6b9f1e42e6d4f59ad2c66c0d327fc6d63572147f) -
support playback and record for rpmsg device
Signed-off-by: Shengjiu Wang
(cherry picked from commit b06f0122c6c280eff3bb83b0dfa284ce93526ef3) -
only support playback for rpmsg device on imx8mm evk.
Signed-off-by: Shengjiu Wang
(cherry picked from commit a6e9ff5efc814fa08f7e4664f584861b4a4d5792) -
Some platform the rpmsg device only support playback or record. So
Add a property to differentiate them.Signed-off-by: Shengjiu Wang
(cherry picked from commit aa8b9304d207e5f00cca8a41772c130dd4c6944b) -
enable sound-rpmsg in fsl-imx8mm-evk-m4
Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
(cherry picked from commit 195a79896f105e5537ae4dfde97e87a9e198cbbd) -
enable i2s over rpmsg
Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
(cherry picked from commit 0ee32296ec540e5c11c627012656f0373317eaac) -
In imx8mm, there is no controls for wm8524, so we use the
dummy codec instead.Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
(cherry picked from commit 43bcd3a8e9f4c1b2af9974f2082a34beacfba4a1) -
Update the read and write function for the send_message function
changesSigned-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
(cherry picked from commit 4610826f39ee4124588b818e5589c25448aa3dba) -
Add ack function, which is to info M4 side how many data
has been writen to buffer.Add timer, which is to get the position of hw pointer in m4.
Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
(cherry picked from commit 0fd349fbab28d97f8c5501ec635bff053e3b1470) -
Add two new message command I2S_TX_POINTER and I2S_RX_POINTER,
which are used to get the hw pointer in m4 side. For in low
power audio mode, m4 won't send notification every period, the
notification only be sent when hw pointer reach end of buffer,
so we need these command to get the position of hw pointer,
user can use it to calculate the timestamp.Restructure send message and recv message together for i2s_rpmsg,
that every send message has a recv message. so the
i2s_send_message can store the recv message indepedently. one
reason is that the receive message is async withe send message.The low power audio is disabled in default, user need to enabled
it by add "fsl,enable-lpa" in dts.Signed-off-by: Shengjiu Wang
Reviewed-by: Viorel Suman
(cherry picked from commit 753e7b819609ad4791e32069a124d4411c720947) -
Fix PDM input select options, add missing daisy chain
select option for routing PDM bitsream inputs from
SAI1_RXDx pads.Signed-off-by: Adrian Alonso
(cherry picked from commit 8a6f7ddd5ba852fbc4511415506453ba1c575d6a) -
The FSL_SAI_VERID and FSL_SAI_PARAM only available
when reg_offset is 8Signed-off-by: Shengjiu Wang
(cherry picked from commit 0a0695672dc7ecf07a7642ff6f99f0b9d3a26b32) -
In some platform, the low power audio playback should be
supported, which need the audio buffer allocated from
OCRAM/IRAM. So move the buffer allocation to .open
function at that time the dma chan is allocated.Signed-off-by: Shengjiu Wang
(cherry picked from commit 85c59acfc5c8d17aa0f369dbe30e4a5fb128c25f) -
The common code aready has the flow:
really_probe->dma_configure->of_dma_configureThere is no need to call it in driver specific probe function.
With of_dma_configure call twice, arch_setup_dma_ops will set
dev->dma_ops and dev->archdata.dev_dma_ops both to xen_dma_ops
when booting Kernel in Dom0 and cause stack overflow in
dma_alloc_coherent.Signed-off-by: Peng Fan
Acked-by: Fugang Duan -
This reverts commit 735d90236c17c17978db9a7965d190c4e561c55d.
The change has already integrated to 4.14 kernel.
-
Use two chained descriptors for encoder (config desc & encode desc),
they are set-up in new function mxc_jpeg_config_enc_desc.Refactor function mxc_jpeg_enc_config, in order for the encoder to
function correctly, the CAST_MODE register needs to be written after
the descriptor(s) are ready.Set-up decoder descriptor in new function mxc_jpeg_config_dec_desc,
this was previously done in mxc_jpeg_device_run, which is
leaner & cleaner now.Function mxc_jpeg_go cannot be used both for encoder and decoder, because
the CAST IP control registers are different, the decoder has CTRL
(offset 0x34) while the encoder has MODE register (offset 0x0).
So, have two functions instead: mxc_jpeg_go_enc and mxc_jpeg_go_dec.Function mxc_jpeg_reset had no purpose anymore, instead use
mxc_jpeg_sw_reset, for soft reset.Add function mxc_jpeg_set_l_endian.
Signed-off-by: Mirela Rabulea
-
Add the check to LCDIF CRTC atomic check for the requested bus
format by encoder with the bus format which can be supported by
LCDIF CRTC to refuse unsupported case.Signed-off-by: Fancy Fang
(cherry picked from commit e98afe9b6b20c2494c8570427b7811ed9ce202e8) -
Since the LCDIF output data width can be different from the data
width of input pixel data, so the bus format check in the plane's
atomic check is not correct anymore, and need to be removed.Signed-off-by: Fancy Fang
(cherry picked from commit 2245702e7905fa7b75aec92fdbb9ffeb33bdb6de) -
The 16bpp BGR order pixel formats 'DRM_FORMAT_ABGR1555' and
'DRM_FORMAT_XBGR1555' also require to be re-ordered to RGB
order for display, just like the format 'DRM_FORMAT_BGR565'
does.Signed-off-by: Fancy Fang
(cherry picked from commit f5cc4f4699570fe697d21cb47c54aa91b82c8458) -
According to LCDIF specification, the input pixel data
width and the output pixel data width can be different,
and this conversion is done by LCDIF automatically. So
config the output data width according to the requested
bus format from the encoder, instead to be same with the
input pixel data width.Signed-off-by: Fancy Fang
(cherry picked from commit bfd27f6d71d86a7f2fc8314f082565db3682b925) -
The connector's 'display_info' usually includes all the bus
formats the display peripheral device can be accepted. And
the DRM adjusted display mode's 'private_flags' includes
bus format the DSIM bridge requested according to the DSI
device display format. Add the bus format check to the DSIM
encoder's atomic check to make sure these two bus formats
have intersection.Signed-off-by: Fancy Fang
(cherry picked from commit 6d804db82b95411ebad9fcfb43b3acecee5941d9) -
According to the comments of 'struct drm_framebuffer', its
'width' field refers to the logical width of the visible
area of the framebuffer. This may be unequal to the total
pixels number of a line. So use the 'pitches' field to
replace 'width' for the horizontal cropping feature.Signed-off-by: Fancy Fang
(cherry picked from commit 9a2bbbf971ed79b32ae1c7da2d62b8a72f3ccffd)